일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- HTML공부
- 공병리뷰
- 쿠팡직구
- 주택청약
- 실업급여
- 스킨케어
- 마스카라
- 짠테크
- 직장인재테크
- 지성피부
- 구글 애드센스
- c#
- 스와니코코
- 깃허브 사용법
- 왓슨스
- 주름개선
- 구글애드센스
- 에센스
- 영어회화공부
- 천연화장품
- 직장인 코딩공부
- 엑셀
- 신한은행
- 넷플릭스 영어공부
- 코알못
- css position
- 올리브영
- 마스크팩
- github
- 직장인코딩공부
- Today
- Total
지지나
깃허브 브렌치(Branch) 충돌 발생 해결하기 본문
지난 포스팅에 깃허브에서 branch를 사용하는 이유와 브렌치 생성하고 머지(merge)하는 방법까지 알아보았고, 이번에는 브랜치 머지시 충돌이 발생할 때 해결하는 방법에 대해서 알아볼 예정이에요.
충돌이 발생하는 원인으로는, 두 개 이상의 브랜치에서 동일한 파일을 수정했는데 수정한 내용이 서로 다를 경우, 머지를 할때 충돌(conflict)가 발생할 수 있답니다.
내용이 다른데 통합을 하라고 하니 충돌이 나는 것은 당연하지요?
develop branch 생성 후 체크아웃 명령을 이용해 HEAD가 develop branch를 가리키도록 만들어 줍니다.
자 그럼 develop branch인 상태에서 파이썬 파일에서 Div함수를 추가해서 수정해 주고, add와 Add my_module [Div]라는 메세지로 커밋까지 진행해 줍니다.
git log를 찍어보면 develop branch는 Div함수를, master branch는 이전과 그대로 (Mul함수)인 상태입니다.
그런 다음 master branch로 체크아웃을 하고 파이썬 파일을 살짝 수정해 줍니다.
add와 Add my_module [Div] & Comment 라는 메세지로 커밋까지 실행하세요.
git log를 실행하면 master branch 만 보이게 됩니다. develop branch는 보이지 않아요!
develop branch로 체크아웃 후,
git log를 하면 이번에는 develop branch만 보이고 master branch는 보이지 않게 되지요.
커밋 메세지만 봐도 알겠듯이, 파일의 내용이 다르기 때문이지요.
일반적으로 병합, merge를 할 때에는 master branch에서 실행하므로, git checkout master를 해주고 git merge develop 명령을 수행해 보세요.
머지가 CONFLICT 라고 나오며 머지에 실패했다고 나오는데요, 소스코드의 내용이 다르게 때문에 그런 것이에요.
파이썬 파일을 열어보면 깃에서 소스코드의 어떤 부분이 다른지를 알려주고 있어요.
그럼 파일에서 내가 저장하고 싶은 코드로 다시 수정을 한 다음에 add와 커밋을 진행하면 성공적으로 머지가 된 것입니다.
git merge develop을 재시행하면 이미 업데이트 되었다고 나오지요ㅎㅎ
다시 한번 git log를 실행하면 master와 develop branch가 함께 출력되는 것을 알 수 있지요.
머지를 완료했기 때문에 develop branch는 더 이상 필요가 없으니 git branch -d 명령으로 제거해 줍니다.
master branch만 남은 것을 볼 수 있어요.
마지막으로 푸시를 해주면 깃허브 원격지 저장소에도 성공적으로 업로드가 된 것을 알 수 있답니다.
'기획자의 프로그래밍 걸음마 > Github' 카테고리의 다른 글
Github push 오류 'Updates were rejected because the remote contains work that you do' 해결 방법 (0) | 2020.09.17 |
---|---|
Github 저장소 소개글 README 작성하는 방법 (0) | 2020.09.10 |
깃허브 브렌치(Branch) 생성/ 머지(merge)/ 삭제하기 (0) | 2020.09.06 |
깃허브 저장소 삭제하기 (0) | 2020.09.06 |
깃허브 커밋(Commit) 메세지 수정하기 (0) | 2020.09.05 |