- 버전들을 한 줄로 쭉 이었을 때, branch라고 생각하면 편함
- 독립적으로 어떤 작업을 진행하고 작업이 끝난 경우, 만들어진 branch를 merge해주어야 함
- git의 기본 branch는 master 또는 main
git branch
- branch 목록 확인 가능
- 앞부분에 * 붙어있는 것이 현재 선택된 branch
git branch (branch이름)
- 새로운 branch를 (branch이름)으로 생성
- 이후, git checkout (branch이름)
git checkout -b (branch이름)
- branch를 생성하고 그 branch로 checkout
- git branch (branch이름) + git checkout (branch이름)
git branch -d (branch 이름)
- branch 삭제
- master에 merge하는 과정이 선행되어야 한다.
checkout
- HEAD가 다른 branch를 가리키도록 하는 명령
- git checkout (branch이름)
git checkout (commit_id)
git checkout (branch_name)
reset
- HEAD가 가리키는 master를 옮김
- master가 움직이면서 master 이후의 버전은 삭제되는 결과를 가져옴
- 원격저장소로 push한 버전은 reset하면 안 됨
- 모드
- soft
- mixed(기본)
- hard
- HEAD 위치 변경, 인덱스 변경, 작업 트리 변경
- 최근의 커밋을 버리고 완전히 이전의 상태로 돌아감
git reset --hard (commit_id)
merge
- merge : 여러 개의 branch를 하나로 모을 수 있음
- rebase : branch를 통합하는데 이전 커밋 내역을 변경하면서 하나의 branch만 있었던 것처럼 바뀜
# master가 exp를 병합하는 경우
git checkout master
git merge exp