포스트

git switch 명령어

Git에서 브랜치 변경할 때는 주로 git checkout을 사용한다. 최근에 git switch 명령어를 알게 되었는데, git checkout 명령어랑 뭐가 다른지 정리해 봤다.

git switch 명령어가 나오게 된 이유

Git 2.23에서 checkout 대신할 switch, restore 명령어가 나왔는데, checkout 명령어가 너무 많은 기능을 가지고 있어서 새로운 명령어들이 나왔다.

  • checkout: 브랜치를 이동하거나 working tree 파일을 복원
  • switch: 브랜치 이동
  • restore: Working tree 파일 복원

git checkout 명령어가 하는 일을 git switch, git restore로 분리한 것으로 보인다.

사용법

다른 브랜치로 변경하고 싶을 때

1
git switch other-branch

새로운 브랜치 만들어서 변경하고 싶을 때

1
git switch -c new-branch

특정 커밋에서 새로운 브랜치 만들어서 변경하고 싶을 때

1
git switch -c new-branch <start-point(커밋 번호)>

만약 변경하려는 브랜치와 충돌하는 로컬 수정 사항이 있는 경우, 로컬 변경 사항의 작업을 지우도록 할 수 있다. (사용할 때 주의 필요!)

1
git switch other-branch --discard-changes

이전에 checkout 한 브랜치로 다시 변경하고 싶을 때

1
git switch -


지금 작업 환경에서 특별히 switch 명령어를 사용할 일은 아직까지는 없을 것 같다. 그래도 새로운 명령어가 나와서 한번 정리해 봤다.


참고

Git - git-switch Documentation

새 버전에 맞게 git checkout 대신 switch/restore 사용하기 :: Outsider’s Dev Story

git switch - Switching branches

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.