브랜치는 git의 커밋들의 줄기이다.
git은 기본적으로 커밋의 가장 큰 줄기는 main(구, master)이라는 브랜치가 가리킨다.
하지만 하나의 줄기(main브랜치)로만 프로젝트를 관리하다 보면 병렬적으로 커밋을 관리할 수 없다.
따라서 줄기를 나누어서, 즉 여러 브랜치를 만들어서 커밋을 관리하고 main브랜치에 merge하는 식으로 커밋을 관리하면 직관적이고 병렬적으로 git을 관리를 할 수 있다.
git branch # local의 브랜치만 확인
git branch --all # 원격 서버와 연결된 브랜치까지 전부 확인
git branch -v # 브랜치 목록과 함껜 최신 commit정보 함께 확인
git branch --merged # 현재 브랜치에 merge된 브랜치 목록 확인
git branch --no-merged # 현재 브랜치에 merge되지 않은 브랜치 목록 확인
git branch 브랜치명
git switch 브랜치명
git checkout 브랜치명
git checkout
은 브랜치 이동 뿐 아니라 커밋과 태그 이동도 가능한 유용한 명령어이다.
git checkout 해시코드
: 커밋 이동
git checkout 태그
: 태그 이동
git checkout 브랜치명
: 브랜치 이동
git switch -C 브랜치명 # -C 옵션: create branch
git checkout -b 브랜치명 # -b 옵션: 브랜치 생성
git branch -d 브랜치명 # -d 옵션: delete branch
git push origin(원격저장소명) --delete 브랜치명 # 원격서버에 존재하는 브랜치 삭제
git branch --move 기존브랜치명 새로운브랜치명
git push --set-upstream origin(원격저장소명) 기존브랜치명 새로운브랜치명 # 원격서버에 존재하는 브랜치명 변경
git log 브랜치1..브랜치2 # 두 브랜치간에 관계된 log만 보여준다.
git diff 브랜치1..브랜치2 # 두 브랜치간에 변경된 것을 확인