나뭇가지!
하나의 코드 관리 흐름.
예) 유로 버전과 무료 버전 있을 경우 브랜치를 2개로 나눔
실제 배포용 버전, 개발용 버전, 테스트용 버전, 긴급 버그 수정용 버전
스마트폰 버전, PC 버전 TV 버전 등 다양한 브랜치 생성 가능
main 브랜치(구master)
커맨드
1.git branch 브랜치 이름
ex) git branch premium
2.git checkout 브랜치 이름
ex) git checkout premium
3.git branch
모든 브랜치 보기
4.git branch -d 브랜치 이름
브랜치 삭제
5.git checkout -b test
브랜치 생성하고 바로 이동
1.git merge main
머지 할 경우
2.git merge --abort
머지 작업 취소할 경우
3.conflict가 발생할 경우 수정 후
add . + commit
HEAD 와 Branch의 관계
커밋을 가리키는 존재 = 포인터
main 포인터는 가장 최신의 커밋을 가리킴. 이전의 커밋으로 돌아갈 수도 있음.
HEAD -> branch(변경시 다른 branch) -> commit
HEAD는 항상 branch를 따라다님.
머지커밋 = 헤드가 가리키던 커밋에 다른 브랜치가 가리키던 커밋을 합쳐서 새로운 커밋을 만드는 작업
fast-forward 머지: 새로운 커밋을 만들지 않음
3-way 머지 : 새로운 커밋을 만듬