티스토리 뷰

 

 

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

출력되면 

작업 트리가 깨끗함

 

push 하기 전에 add . 와 pull 을 해준다

 

git push 까지

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함