브랜치와 머징에 대해서 알아보겠습니다.
"""
좋습니다! 우리는 이제 커밋과 브랜치에 대해서 압니다. 이제 우리는 두개의 브랜치에서 만든 작업물을 하나로 합치는 법을 배워야 합니다. 이 방법을 알면 우리는 브랜치를 따고, 새로운 기능을 개발하고, 다시 하나의 브랜치로 합칠수 있습니다.
작업물의 병합을 하는 첫번째 방법은 git merge 입니다. 깃에서의 머징은 두개의 상위 버전(parents)을 가진 특별한 커밋을 생성합니다. 두개의 상위 버전을 가진 커밋은 1."위 상위 버전의 모든 작업물과 여기 작업물을 하나로 합칠거야" 와 2. "상위 버전의 모든 세트도 합칠거야"
그림으로 보는게 더 쉬울거에요 다음 그림을 봅시다.
"""
"""
여기 두개의 브랜치가 있습니다. 각각의 브랜치는 모두 다른 커밋을 가지고 있습니다. 이 의미는 만든 모든 작업물이 하나로 병합되어 있지 않고 저장소 안의 브랜치 여러곳에 저장되어 있다는 것입니다. 이제 머지를 사용해 하나로 고쳐봅시다.
우리는 bugFix라는 브랜치를 master 브랜치에 병합할 것입니다.
"""
git merge bugFix 후
"""
보이시나요? 첫번째로, 마스터는 지금 두개의 상위 커밋을 가리키고 있습니다. 마스터부터 화살표를 따라가면 모든 커밋을 지나 제일 첫번째의 커밋에 도달할 것입니다. 이 의미는 마스터 브랜치는 저장소 안의 모든 작업물을 포함하고 있다는 것입니다.
또한, 커밋의 색깔이 바뀌는게 보이시나요, 더 쉽게 배우기 위해, 색깔을 집어 넣었습니다. 각각의 브랜치는 특별한 색을 가지고 있습니다. 각각의 커밋은 색깔이 바뀌는데 특정 커밋이 포함된 브랜치면 그 특정 커밋의 색이 조합되어 바뀝니다.
그래서 여기 보면 마스터 브랜치의 색이 그 상위 커밋의 색과 같은 것을 볼 수 있습니다. 그러나 bugFix의 색깔은 변하지 않았습니다. 이걸 고쳐보겠습니다.
"""
"""
마스터를 bugFix에 머지해봅시다:
git checkout bugFix; git merge master
bugFix 브랜치가 마스터 브랜치의 상위 커밋이기 때문에, 깃은 아무것도 하지 않아도 됩니다. 그저 bugFix가 가리키는 화살표를 마스터가 가리키는 브랜치로 가리키게 하면 됩니다
이제 모든 커밋이 같은 색으로 변했습니다. 이 말은 각각의 모든 브랜치가 저장소 안의 모든 작업물을 포함한다는 의미입니다. 우후!
"""
그럼 여러분들 모두 즐코딩!
'GIT' 카테고리의 다른 글
깃공부6: 상대 참조(Relative Reference) (0) | 2019.09.17 |
---|---|
깃공부5: 깃 여기저기 옮겨다니기(Moving around in Git) (0) | 2019.09.17 |
깃공부4: 깃 리베이스(Rebase) (0) | 2019.09.15 |
깃공부2: learningitbranch 브랜치 배우기 (0) | 2019.09.14 |
깃공부1: 깃 개념 잡기 좋은 사이트 learningitbranching (0) | 2019.09.14 |