티스토리 뷰
[git bush] pull origin master: Merge made by the 'ort' strategy. 충돌 해결 과정
Ji@n 2024. 7. 4. 10:25
git pull master 하고 Merge made by the 'ort' strategy 라고 log에 찍혔다
- git pull master 명령을 실행할 때 "Merge made by the 'ort' strategy"라는 메시지가 나타났다면,
이는 두 브랜치를 병합하는 동안 충돌이 발생했음을 의미한다.
'ort'는 'Ostensibly Recursive Three-way merge'의 약자로, Git의 기본 병합 전략이다.
1. 'git pull master'를 실행한 후 다음과 같은 충돌 메시지를 확인할 수 있다.
예시 )
Auto-merging <filename>
CONFLICT (content): Merge conflict in <filename>
Automatic merge failed; fix conflicts and then commit the result.
* 충돌된 파일을 확인하는 명령어는 $ git status 이다
충돌이 있다면 다음과 같이 나온다
여기서 unmerged paths 섹션에 나열된 파일들이 충돌된 파일이다
예시 )
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: filename1.txt
both added: filename2.txt
both deleted: filename3.txt
no changes added to commit (use "git add" and/or "git commit -a")
git status를 입력하자 다음과 같이 나왔다. 수정이 된 것 같지만 아직 스테이징하지 않은 변경 사항이 있음
- 브랜치는 master이고
- VOP/target/m2e-wtp/web-resources/META-INF/maven/com.web/vop/pom.properties 파일이 수정되었지만,
아직 스테이징 영역에 추가되지 않았다.
충돌 파일을 자세하게 확인하고 싶다면 다음 명령어를 사용한다.
git diff 명령어는 현재 충돌된 파일의 차이점을 보여준다.
$git diff
예를 들어 특정 파일 filename1.txt 의 충돌 내용을 확인하려면
$git diff filename1.txt
이 명령어는 해당 파일의 충돌 부분을 보여준다. 충돌된 부분은 아래와 같은 형식으로 표시해줌
<<<<<<< HEAD
현재 브랜치의 내용
=======
병합할 브랜치의 내용
>>>>>>> master
이렇게 확인한 충돌 부분을 수동으로 수정하고, git add <filename> 명령어로 수정된 파일을 스테이징한 후, git commit 명령어로 병합을 완료한다.
2. 충돌된 파일을 열면 다음과 같은 형식으로 충돌 부분이 표시된다.
<<<<<<< HEAD
Your changes here
=======
Incoming changes here
>>>>>>> master
<<<<<<< HEAD 부분은 현재 브랜치의 변경 사항이고,
=======와 >>>>>>> master 사이의 부분은 병합하려는 브랜치의 변경 사항이다.
이 부분을 수동으로 수정하여 원하는 최종 내용으로 만든다.
3. 충돌을 모두 수정한 후, 다음 명령어를 사용하여 상태확인한다.
이 명령어는 어떤 파일이 수정되었는지, 어떤 파일이 여전히 충돌 상태인지 보여준다.
$ git status
4. 충돌을 해결한 파일을 추가한다.
$ git add <filename>
여러 파일이 충돌된 경우 모든 파일을 수정해야함.
만약 모든 파일을 한 번에 추가하려면 다음과 같은 명령어를 사용하자!
$ git add .
5. 모든 충돌을 해결하고 파일을 추가한 후 병합을 완료하는 커밋을 수행한다.
위와 같이
On branch master
nothing to commit, working tree clean
출력되면
작업 트리가 깨끗함
'백엔드 교육과정 > 7월' 카테고리의 다른 글
[Oracle] 요청한 작업을 수행하는 중 오류 발생: IO 오류: The Network Adapter could not establish the connection (수정 중) (0) | 2024.07.25 |
---|