$git branch
-->브랜치를 보여주는 명령어 앞에 * 체크되어있는 것이 현재 작업하고 있는 브랜치
$git branch 이름
-->해당 이름의 branch 생성
$git checkout branch이름
-->해당 이름의 branch로 변경
브랜칭 된 두 브랜치 중 병합할 브랜치로 이동한다
$git checkout master
해당 브랜치에서 병합시킬 브랜치를 선택하여 병합시킨다
$git merge o2
결과는
$git log --oneline --branches --graph
명령으로 확인할 수 있다. (그래프를 그리는 명령어)
git에는 Auto-merging이 있어 자동으로 병합해 준다.
master.txt
#title
content
master content 2
#title
content
o2.txt
#title
content
#title
content
o2 content 2
이 두 파일을 merge시키면
#title
content
master content 2
#title
content
o2 content 2
으로 만들어진다.
하지만 문서의 같은 위치를 수정했을 때 병합하면
master.txt
#title
content
master content 1
#title
content
o2.txt
#title
content
o2 content 2
#title
content
CONFLICT error가 발생하게 된다.
이 때, master.txt는
#title
content
<<<<<<<<HEAD
master content 1
=======
o2 content 2
>>>>>>>>>>o2
#title
content
와 같이 변하며, 양쪽 브랜치의 내용을 참고 하며 직접 수정해야 한다.
$git merge o2 --no-edit
--no-edit옵션을 추가해 주면 된다.
브랜치를 병합한 후 더 이상 사용하지 않는 브랜치는 깃에서 삭제할 수 있다.
하지만 이는 완전히 지워지는 것이 아니며, 같은 이름의 브랜치를 만들면 예전 내용을 다시 볼 수 있다.
저장소의 기본 브랜치는 master이므로 master 브랜치로 checkout한다.
브랜치를 삭제한다.(-d)옵션을 사용한다.
$git branch -d o2
Deleted branch o2메세지가 출력되면 성공적으로 브랜치가 삭제된 것이다.
이는 저장소에서 완전히 없앤 것이 아니라 "흐름 속에서 감추는" 정도의 삭제이다.