note :
병합 - merge vs rebase
fast forward merge란?
- merge를 할 때 base가 되는 branch의 모든 것을 가지고 있을 때 가능
- fast forward가 가능한 상태에서는 merge commit이 발생하지 않고 fast forward merge가 발생하는 것이 기본 값이다.
- git-flow에서는 사용하지 않는다.
- fast forward 상황에서는 conflict가 발생할 수 없다.
rebase
conflict가 발생할 경우 rebase가 불가능 conflict를 해결 할 merge commit이 발생하지 않기 때문
pull
- pull = fetch + merge
- fetch : local의 refs폴더에 remote의 내용들을 다운 받는다. 소스트리 에서는 10분에 한번씩 자동 fetch함 fetch는 전혀 위험 하지 않기 때문에
- merge : refs/remote/origin/master <— merge —> refs/heads/localBranch
non fast forward 옵션이 적용되지 않는다.