1. 여러 브랜치 만들어보기
1) Branch
- 프로젝트를 하나 이상의 모습으로 관리해야 할 때 사용한다.
 
- 여러 작업들이 각각 독립되어 진행될 때
- 예) 신기능 1, 신기능 2, 코드개선, 긴급수정
 
 
- 각각의 차원에서 작업한 뒤 확정된 것을 메인 차원에 통합
 
2) 브랜치 생성/이동/삭제
- 새 브랜치 생성 : 
git branch 새브랜치명 
- 브랜치 목록 확인 : 
git branch 
- 해당 브랜치로 이동 : 
git switch 브랜치명
- checkout 명령어가 Git 2.23 버전부터 switch, restore로 분리
 
 
- 브랜치 생성과 동시에 이동 : 
git switch -c 새브랜치명 
- 브랜치 삭제 : 
git branch -d 삭제할브랜치명
- 지워질 브랜치의 커밋이 처리되지 않은 경우 -d 대신 -D를 사용한다.
 
 
- 브랜치 이름 변경 : 
git branch -m 기존브랜치명 새브랜치명 
- 브랜치들은 GUI로 확인하는 것이 낫다.
 
2. 브랜치 합치는 방법
1) merge
- 두 브랜치를 한 커밋에 이어붙인다.
 
- 브랜치 사용 내역을 남길 필요가 있을 때 적합한 방식이다.
 
- merge는 reset으로 되돌리기 가능하다.
방법 
- main 브랜치로 이동
 
- 해당 명령어로 병합 : 
git merge 병합할브랜치명 
- 소스트리에서 확인
 
- 병합된 브랜치는 삭제한다.
 
2) rebase
- 브랜치를 다른 브랜치에 이어붙인다.
 
- 한줄로 깔끔히 정리된 내역을 유지하기 원할 때 적합하다.
 
- 이미 팀원과 공유된 커밋들에 대해서는 사용하지 않는 것이 좋다.
방법 
- main과 branch가 있을 경우 branch로 이동한다.
 
- 해당 명령어로 병합 : 
git rebase main 
- 소스트리에서 상태 확인
 
- main으로 이동 후 branch를 merge해준다.
 
- 병합된 브랜치는 삭제한다.
 
3. 충돌 해결하기
1) merge 충돌시
- 해결 가능한 경우 충돌 부분을 수정해주고 
git add ., git commit으로 병합을 완료한다. 
- 해결이 어려운 경우 
git merge --abort로 merge를 중단할 수 있다. 
2) rebase 충돌시
- 해결이 가능한 경우 
- 충돌 부분을 수정한 뒤 
git add. 
git rebase --continue를 입력한다. 
- 충돌을 모두 해결할 때까지 반복한다.
 
 
- 해결이 어려운 경우 
git rebase --abort로 중단할 수 있다. 
- CLI로 진행하는 것을 권장한다.