충돌 해결 병합
Git에서 병합 충돌이 발생하면 다음과 같은 정크가 충돌하는 파일에 삽입됩니다. 세 가지 질문 :
- 이 주석을 어떻게 읽습니까?
- 이러한 병합 충돌을 수정할 때 사용할 전략은 무엇입니까?
- 문제를 쉽게 해결할 수 있도록 이러한 파일을 읽고 두 버전을 나란히 표시하는 방법을 알고있는 Mac 용 GUI 도구가 있습니까?
참고 : 관련성이있는 경우 GitHub의 Mac GUI 클라이언트를 사용하고 있습니다.
<<<<<<
와 사이의 모든 것은 병합 작업을 시작하기 전에 커밋 된 상태 인 개정 ======
에서 비롯 HEAD
됩니다 ( git merge
트리가 더러워지면 불평하므로 작업 디렉토리와 동일해야합니다).
사이의 부품 ======
및 >>>>>>
버전 존재가 합병에서 온다. 뒤의 텍스트 >>>>>>
는 충돌하는 변경 사항을 도입 한 커밋의 주석입니다.
충돌 마커가 있다는 것은 파일의이 부분의 기본 버전이 두 "새"버전과 다르다는 것을 의미합니다. 기본 버전 (마지막 공통 조상)은 표시되지 않습니다.
보다 편안한 병합을 원하고 GUI를 사용할 수 있다면 kdiff3를 살펴볼 것을 제안합니다.
이제 Git이 파일에 삽입하는 의미없는 마커를 읽는 것보다 더 나은 솔루션이 있습니다. Black Pixel의 두 번째 diff 도구 릴리스 인 Kaleidoscope 2 는 이제 병합 도구이기도합니다. 무료는 아니지만 아름답게 작동합니다.
Kaleidoscope 2를 설치하면 Git과 통합하기가 정말 간단합니다. Kaleidoscope를 열고 메뉴 모음에서 Kaleidoscope > 통합…을 선택합니다 .
그러면이 창이 나타납니다. 간단하게 선택 힘내 왼쪽 탐색 메뉴에서 다음 설치 ksdiff
명령 줄 도구를 다음 만화경 망할 놈의 기본은 diff와 병합 도구를합니다.
마지막으로 Git에서 병합 충돌이 발생하면 명령 줄로 이동하여 git mergetool
. 이제 충돌을 쉽게 읽을 수 있습니다. 즐겨.
<<<< HEAD #Where the conflict starts
#Previous Revision
========== # The point where things look iffy
#Things that changed
>>>>> New Commit # Point where the conflict ends
Mac의 Xcode에는 FileMerge가 함께 제공되며 opendiff
.
git mergetool -t opendiff
(그래픽) 병합 도구를 구성하고 해당 도구를 사용하여 충돌 해결을 수행 할 수 있습니다.
또한 git mergetool
명령을 살펴보십시오 . 사전 정의 된 도구 중 하나가 설치되어 있거나 다른 도구를 구성한 경우 해결 도구 http://schacon.github.com/git/git-mergetool 이 열립니다 . HTML
GUI 도구에 관심이 있다면 GUI 도구가 쉽게 해상도를 결정하는 데 도움이되므로 표기법이 실제로 무엇을 의미하는지 걱정할 필요가 없습니다. =====
및 >>>>>
로 표시된 부분 이 충돌 섹션 임을 이해하십시오 .
동일한 파일에 대한 변경 사항이있는 두 개의 분기가 있고이를 병합하려고하면 병합 충돌이 발생합니다. 충돌하는 파일 목록을 보려면 git status
터미널에서 실행 하십시오.
파일의 충돌하는 줄은 시각적 표시로 표시됩니다 <<<<<
.-충돌은이 줄 이후에 시작됩니다. =====
-HEAD 및 merging_branch의 변경 사항을 고안합니다. >>>>>
-충돌 라인의 끝.
<<<<<<< HEAD
conflicted text from HEAD
=======
conflicted text from merging_branch
>>>>>>> merging_branch
충돌하는 파일을 수정하고 병합 할 준비가되면 실행 git add
하고 git commit
병합 커밋을 생성하기 만하면됩니다. 커밋이 이루어지면 git push
분기가 변경됩니다.
참조 문서 : Git merge .
참조 URL : https://stackoverflow.com/questions/9207260/merge-conflict-resolution
'program tip' 카테고리의 다른 글
Java Micro ORM 해당 (0) | 2020.12.31 |
---|---|
ARC 시대의 속성 대 ivar (0) | 2020.12.31 |
Git merge --squash와 --no-commit의 차이점 (0) | 2020.12.31 |
복합 키 Entity Framework 만들기 (0) | 2020.12.31 |
Docker 명령 줄의 Docker 레지스트리에서 특정 태그가있는 Docker 이미지를 찾으려면 어떻게해야합니까? (0) | 2020.12.31 |