공부 및 활동/git

2. Merge, 충돌 해결 (병합 이슈)

KChang 2021. 7. 21. 21:42

 

 

앞부분은 (1. ‘git 병합, 충돌 해결’ )의 앞 부분 내용과 똑같은 부분입니다.

(a)

∙ git branch Test_Branch // branch 등록

∙ git checkout Test_Branch

(해당 소스, 파일 수정 후)

∙ git add 프로젝트 name

∙ git commit -m "message~"

∙ git checkout master

 

현재 상태

- test1(branch) 소스 파일

 

 

* 중요 *

(b)

∙ master에 있는 소스파일에 “Hello World"를 입력한다.

∙ git add master에 있는 해당 프로젝트

∙ git commit -m "message"

 

* 병합

∙ git merge Test_Branch 입력시

- 이와 같은 상황 발생

 

=> CONFLICT, 충돌이 발생했다.

이유 : 현재 (b)master를 열어서 수정, (a)TEST_Branch에서도 수정하였기 때문이다.

 

 

∙ 이때, 상태 확인 시 양쪽 수정 발생

 

 

∙ master에서 소스 파일 실행 시

 

* HEAD, master에서 수정한 부분

* Test_Branch에서 수정한 부분

=> 두 개로 나뉘게 된다.

=> 양쪽에서 작성한 소스, 수정한 내용을 조합, 불 필요한 내용을 빼는 작업으로 충돌을 회피한다.

=> 양쪽에서 소스 수정한 내용을 확인한 후 합치는 작업, 병합 작업을 한다.

(합칠 때, <<<<HEAD, ====, >>> TEST_Branch 제거하는 작업)

∙ 병합 작업 완료 후

∙ git add 프로젝트 name, git commit -m "message~"

=> 충돌없이 잘 합쳐진다. (병합 작업 완료)

 

 

추가로 확인할 때

∙ git log로 이전까지 실행 내역 확인

 

 

∙ 조금 더 시각적으로 실행 내역을 보고 싶을 때

∙ gitk (UI 프로그램 실행)

=> gitk, UI프로그램 실행을 통해 구체적으로 몇 시에 수정했는지 어떤 작업을 했는지 알 수 있다.

 

 

(블로그 만들기 연습 후 수정 작업을 할께요! 읽어주셔서 감사합니다.)

 

참고 동영상 : https://youtu.be/vGRISKOIS-w