문제 상황
깃 브랜치를 잘못 생성해서 삭제하려고 했다.
git branch -d (브랜치명)
그런데 바로 이 오류가 떴다.
error: Cannot delete branch '브랜치명' checked out at ......
찾아보니 내가 현재 삭제하고자 하는 브랜치에 있는 상태에서 이 브랜치를 삭제하려고 하기 때문이었다.
해결 방법
해결 방법은 간단했다! 브랜치를 다른 곳으로 전환한 후에 다시 삭제 명령어를 날려주면 된다. 근데 구글링을 해보니 브랜치를 전환하는 명령어에는 checkout 말고도 switch 도 있었는데 둘의 차이점이 뭘까?
기존에는 checkout 명령어만 있었는데 Git.2.23 에서 checkout 을 대신 할 switch, restore 가 도입되었다고 한다. checkout 이 다른 명령어로 분리된 이유는 하나의 명령어가 가진 기능이 너무 많기 때문이다. 아래는 문서에 나온 정의이다.
- checkout: Switch branches or restore working tree files (브랜치를 전환하거나 워킹트리 파일을 복원)
- switch: Switch branches (브랜치를 전환)
- restore: Restore working tree files (워킹트리 파일을 복원)
git --help 에도 이제 checkout 명령어는 나오지 않는다고 하니 도입된 명령어를 쓰는 것이 바람직 할 듯 하다.
git switch (다른 브랜치명) //권장함
git checkout (다른 브랜치명) //권장안함
--------------------------------
git branch -d (삭제하려는 브랜치명)
'Git 관련&코드 정리' 카테고리의 다른 글
git stash 에러 (0) | 2022.08.22 |
---|---|
Git 에러 “[rejected] 브랜치명 (non-fast-forward)" + git push 취소하기 (0) | 2022.08.20 |
코드 리팩토링 #3 (변경 가능성 있는 값은 변수에 넣어주기) (0) | 2022.08.18 |
코드 리팩토링 #2 (No newline at end of file, EOF) github 에러 (0) | 2022.08.17 |
코드 리팩토링 #1 (0) | 2022.08.17 |
댓글