개발일지/# TIL
[TIL] 220114 git branch
lution88
2022. 1. 14. 23:33
branch란? 하나의 코드 관리 흐름으로 나뭇가지라 표현한다.
루트커밋(맨처음 commit)을 시작으로 가지가 갈라지는 나무모양이다.
그 가지 하나가 branch!
master는 레포지토리를 만들고 커밋을 하게되면 자동으로 생기는 기본 브랜치이다.
하나의 프로젝트 내에서 여러개의 branch를 만들어서 작업가능.
커밋을 통해 만들어온 하나의 코드 관리 흐름 = branch
1) 브랜치 만들기
git branch 이름
ex) git branch lution
2) 브랜치로 이동하기
git checkout 이름
ex) git checkout lution
3) 브랜치 조회하기
git branch
4) 브랜치 삭제
git branch -d 이름
5) 브랜치 만들면서 이동하기
git checkout -b 이름
6) 브랜치 Merge 하기 : 내용이 다른 브랜치 끼리 병합하기 (master, premium)
master 브랜치(현재 브랜치)에서 작업한 내용을 premium 브랜치에 병합하고싶을 때.
- 병합하고 싶은 브랜치로 이동 $ git checkout premium
- 현재 위치인 premium branch에 master branch를 합치겠다 $ git merge master
- conflict (충돌) 조심
conflict 난 모습, premium과 free 중 뭘 반영할지 고르거나 새로운 이름으로 만들어야 한다.
- conflict 해결하기
- conflict난 브랜치 중 하나를 선택하거나 새로운 이름으로 만들어 준다.
- 컨플릭트가 발생한 파일을 열고 merge한 결과가 되었으면 하는 모습대로 코드를 수정한다.
- 수정 후 commit.
- 혹은 merge 취소하고 merge시도 이전으로 돌아가기 $ git merge --abort
- 여러개의 파일이 conflict 가 발생한 경우
- 하나씩 conflict를 해결한 후 add 한 후 commit 해주면 정상적으로 마무리된다!