Git을 사용할때 branch는 각각의 독립적인 작업 영역이라고 할 수 있다. 하나의 프로젝트에는 여러명의 개발자가 작업하기 마련이다.
기능의 추가,삭제, 버그의 수정과 같은 여러가지 작업은 각각 하나의 Branch에서 진행된다.
git branch 명령을 사용하면 현재 사용하고 있는 branch의 리스트를 볼 수 있다.
Branch를 생성하기 위해서는 다음과 같은 명령어를 입력해준다.
git branch 브랜치이름
exp라는 branch를 새로 생성하고 git branch 명령어를 사용해 branch의 리스트를 출력해봤다.
master 왼쪽에 붙은 '*'의 의미는 현재 사용자가 master branch를 사용하고 있다는 뜻이다.
사용할 Branch를 정의해주는 명령어이다.
git branch 사용할 branch 이름
앞서 생성한 exp branch를 사용해보도록 하자
git branch exp를 사용하여 exp branch로 옮겼다.
git branch 명령어를 보면 * exp 라고 변경된것을 확인할 수 있다.
각각의 독립된 Branch에서의 수정내역은 다른 Branch에 영향을 주지 않는다.
git log --branches --decorate
위에 명령어를 사용해 모든 branch 별로 수정내역을 확인할 수 있다.
(exp), (master)는 각 branch의 가장 최신의 commit id 옆에 위치한다.
(HEAD -> exp) : 현재 exp branch에 checkout하고 있다는 것을 의미한다.
git log --branches --decorate --graph
--graph문을 추가해주면 좀 더 branch를 시각적으로 알아보기 쉽게 log를 출력할 수 있다.
독립된 Branch를 병합하는 작업을 merge라고 한다.
현재 master branch를 사용하고 있는 상태에서 exp branch를 병합해보았다.
git merge exp
git log를 출력했다.
반대로 master branch를 exp branch로 merge 하고 싶을 경우.
git checkout exp
git merge master
헷갈리지 말자!