git - merge

두개의 브랜치에 각각 독립된 커밋이 있습니다. 이 두 개는 작업한 내역이 따로 담겨져있는거죠. 이것을 합쳐서 하나의 브랜치로 만들겠습니다.


현재 마스터 브랜치를 선택된(checkout) 상태입니다. 아래의 명령어를 입력하면

$ git merge bugFix


위와 같이 마스터브랜치가 두 부모가 있는 커밋을 가리키고있습니다. 하지만 그래도 분리되어있습니다.

$ git checkout bugFix; git merge master


bugFix가 master의 부모에 있었기 때문에 git은 별다른일을 할 필요가 없고 간단히 bugFix를 master가 붙어있는 커밋으로 이동 시켰습니다. 이는 두 브랜치가 모두 저장소의 모든 작업 내역을 포함하고 있다는 뜻입니다.

git의 merge는 뭔가 특이하다

‘합치다’라는 merge가 뭔가 이상합니다. 우리가 생각하는 merge는 두개의 브랜치는 합치는 건데 merge는 브랜치의 이동과 커밋을 합쳐놓은 느낌입니다. 사실 저는 아직까지 git의 장점을 모르겠습니다. svn과 별 다른 차이를 못느끼겠다는..??중앙관리와 독립관리의 차이는 알지만 피부로 와닿지가 않네요.. git을 계속 파보고 포스팅하겠습니다.


참조사이트 https://learngitbranching.js.org/

chanhee.kim's profile image

chanhee.kim

2019-01-09 15:35

Read more posts by this author