생활코딩님의 지옥에서 온 git을 수강하는 도중 혼자 실습해본 내용입니다.
Git - Basic Branching and Merging (git-scm.com)
를 참조하였습니다.
시작은 순조롭게 차근차근 성공했습니다.
master과 iss53 branch 만들기
hotfix branch 만들기
hotfix를 master에 merge(fast-forward)한 이후 hotfix branch 삭제
마지막으로 iss53을 master에 merge(recursive)하면 끝나는 연습이었는데 여기서 merge conflict가 발생했습니다...
c.txt라는 하나의 파일만 수정하면서 commit 해줬더니 conflict가 발생한 것 같아서 c.txt에 들어가줬습니다.
역시 HEAD 인 master에는 c.txt의 내용이 version 5로, iss53에는 version 6으로 내용이 달라서 어느 내용을 기준으로 merge할지 몰라 conflict가 발생하는 것 같았습니다.
아직 branch conflict에 대한 강의까지는 수강하지 못해 나름의 방법을 생각했는데 첫번째. iss53으로 넘어가서 iss53의 최근 커밋을 지워주는 방법(iss53의 version6이 이전 커밋에서는 version5여서 생각한 방법입니다) 두번째. c.txt의 파일내용을 수정해주는 방법. 이 떠올랐습니다.
어찌되었던 간에 iss53으로 건너가 만져봐야겠다는 생각이 들어 checkout하려고 했으나
c.txt가 merge 되기 전까지는 꼼짝도 하지 말라는 소리에 master에 있는 c.txt에 들어가 HEDA 밑에 있는 version을 6으로 수정한 후 커밋했습니다. (지금 생각하니 git log --branches로 oneline하지 않고 본 이후에 iss53의 최근커밋을 지울걸 그랬네요. oneline한 상태가 익숙하고 잘 될거라 생각했는데 conflict가 떠서 미처 생각하지 못했습니다)
그랬더니 성공!
이번 branch 연습의 교훈 : 같은 파일에 다른 내용을 갖고 있는 branch들을 merge하면 conflict가 난다. 워드에서 잘못 저장하면 오류나고 어떤 파일을 복원할지 고르라고 할 때가 있었는데 그게 이번 merge와 비슷한 케이스인것 같다.
branch 연습의 감상 : conflict 덕분에 merge에 대한 개념을 잘 잡게 된 것 같아서 싫은데? 좋다ㅎㅎ
'개발 공부 > Git' 카테고리의 다른 글
[지옥에서온git] 깃허브 안에 폴더 만들고 지우는 법 (0) | 2022.08.03 |
---|---|
[지옥에서온git] 깃허브 저장소로 push할때 발생하는 비밀번호 틀렸다고 나오는 에러, failed to push some refs 에러 (0) | 2022.08.03 |
[지옥에서온git] 맥에 kdiif3 설치하는 법 (0) | 2022.08.02 |
[지옥에서온git] gistory 설치하면서 에러가 발생했는데 결국 해결했습니다. (0) | 2022.08.01 |
[지옥에서온git] 드디어 [zsh command not found : brew] 해결!!!!!! (brew 설치하는 법) (0) | 2022.08.01 |
댓글