병합 충돌 해결
다음으로마지막 단계에서 만든 issue2
및 issue3
브랜치를 메인 브랜치로 병합하겠습니다.
먼저 main
으로 전환하고 fast-forward 병합을 사용하여 issue2
를 병합합니다.
$ git checkout main
Switched to branch 'main'
$ git merge issue2
Updating b2b23c4..8f7aa27
Fast-forward
myfile.txt | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
이것이 이제 기록입니다.
다음으로 issue3
을 main
으로 병합해 봅니다.
$ git merge issue3
Auto-merging myfile.txt
CONFLICT (content): Merge conflict in myfile.txt
Automatic merge failed; fix conflicts and then commit the result.
이 경우 Git은 myfile.txt
파일이 각 브랜치의 동일한 라인에 다른 내용을 가지고 있고 issue3
을 main
과 자동으로 병합할 수 없기 때문에 충돌을 식별했습니다.
myfile.txt
파일은 이제 다음과 같이 표시됩니다.
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
<<<<<<< HEAD
commit: Save the status of an index
=======
pull: Obtain the content of a remote repository
>>>>>>> issue3
충돌에 관한 정보와 함께 Git에 의해 myfile.txt
파일에 추가된 마커를 찾을 수 있습니다. 아래와 같이 충돌을 수동으로 해결해야 합니다.
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Save the status of an index
pull: Obtain the content of a remote repository
충돌이 해결되면 변경 사항을 커밋합니다.
$ git add myfile.txt
$ git commit -m "merge issue3 branch"
# On branch main
nothing to commit (working directory clean)
그리고 기록은 다음과 같이 표시될 것입니다.
충돌 해결의 결과로 새로운 병합 커밋이 생성된 것을 볼 수 있습니다. 그리고 메인 브랜치는 이제 최신 병합 커밋을 가리키고 있습니다. 이것은 non-fast-forward 병합입니다.