본문 바로가기
공부 및 활동/git

1. git 병합, 충돌 해결

by KChang 2021. 7. 21.

 

 

∙ Branch

∙ git branch : 어떤 branch가 있는지 확인할 때 사용한다.

- *master => 현재 master, branch가 선택되어 있다.

∙ git branch test1 => test1이라는 branch 생성

∙ git checkout test1 => test1, branch 선택

 

=> master branch를 보고 있는 사람들은 현재 작업자가 test1에서 수정 및 변경하고 있는 내역을 볼 수 없다.(master : 최 상위, test1 : child)

 

 

∙ exmaple.c 소스 변경

 

∙ git add 변경 된 프로젝트, git commit -m "message~" // 수정 내용 등록

∙ git checkout master => master로 돌아간다. (해당 실행 파일 종료후)

- 이때, master에 있는 example2.c와 test에 있는 example2.c와 차이가 있다.

변경 내역

1) test에서

 

2) master에서 (test에서 master로 돌아와서 c파일 열어보았을 때)

 

=> master에서는 test에서 입력한 내용들이 반영이 되지 않았다. (이전까지 몰랐던 내용)

 

 

* 병합 작업 (master에서 해야한다.)

 

∙ master에서 작업한다.

∙ master에 test1 branch를 병합한다.

* master 결과 (잘 반영 되었다.) *

 

* 더 이상 branch를 사용할 필요가 없을 때 삭제를 한다. *

- git branch -d test1

 

 

=> branch 같은 경우, 여러 사람이 동시 작업을 할 때 merge를 통해서 하나씩, 하나씩 합치는 작업을 반복 한다면 해당 되는 프로젝트 완성도가 높여나갈 수 있다.

 

∙ 문제점

- 하지만, 동시 여러 사람이 branch를 여러 개 합치려고 할 때, 동시성 오류가 발생할 수 있다.

- 한 개의 master로 여러 개의 branch를 만들어서 수정해서 합치려고 보니, 한 파일 동시에 수정할 수 있다. (병합의 이슈)

 

 

참고한 유튜브 강의 영상(branch) : https://youtu.be/iiAlXe8H5y8

 

 

 

댓글