∙ 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
'공부 및 활동 > git' 카테고리의 다른 글
Git 작업 컨트롤 전략 (0) | 2021.10.07 |
---|---|
project에 .gitignore 추가하기 (0) | 2021.09.21 |
github에 소스 추가하기(git bash 이용) (0) | 2021.08.10 |
SourceTree 사용하는 방법 (0) | 2021.08.09 |
2. Merge, 충돌 해결 (병합 이슈) (0) | 2021.07.21 |
댓글