현재 status 확인 (현재 브랜치, 커밋할 사항 등)
=> git status
브랜치 생성
=> git branch <생성할 브랜치>
브랜치 목록
=> 로컬 브랜치 목록 git branch
=> 원격 브랜치 목록 git branch -r
=> 모든 브랜치 목록 git branch -a
브랜치 전환
git checkout <전환할 브랜치>
git switch <전환할 브랜치>
브랜치 전환 후 브랜치 목록을 확인해보면 전환한 브랜치 앞에 *
가 붙은 걸 확인할 수 있다.
3-way merge
기존 브랜치와 새로운 브랜치 각각 commit 사항이 1회 이상 있는 경우 merge 명령을 내리면 두 브랜치 코드를 합쳐서 새로운 commit을 자동으로 생성해주는데, 이걸 3-way-merge라고 한다.
이게 merge의 기본 동작 방식이다.
fast-forward merge
새로운 브랜치에만 커밋 사항이 있고, 기준이 되는 브랜치에는 신규 커밋 사항이 없는 경우, 신규 브랜치가 main 브랜치를 이어받는 걸 말한다.
fast-forward merge 해야 하는 상황에서도 3-way merge를 하고 싶다면,
=> git merge --no-ff <브랜치명>
을 작성해주면 된다.
브랜치 삭제
브랜치를 merge 하더라도 브랜치가 자동으로 삭제되지는 않는다. merge하고 나서 이제 필요 없어진 브랜치를 삭제하고 싶다면,
병합 완료된 브랜치 삭제 시 => git branch -d <브랜치명>
병합하지 않은 브랜치 삭제 시 => git branch -D <브랜치명>