본문 바로가기

항해99_10기/105일의 TIL & WIL

[20221111] sourcetree branch 삭제할 때 에러

sourcetree에서 브랜치를 삭제하고 싶었다.

왼쪽 메뉴바의 브랜치명에 커서를 두고 우클릭으로 해서 브랜치 삭제를 진행했다.

그랬더니 아래와 같이 에러가 뜨며 삭제되지 않았다.

Sourcetree에서 우클릭하여 삭제를 시도했지만, 에러메시가 출력됨

에러 메세지

더보기

git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks branch -d delete_test
error: The branch 'delete_test' is not fully merged.
If you are sure you want to delete it, run 'git branch -D delete_test'.

 

에러 메서지를 따라 터미널 창을 켜서 'git branch -D delete_test' 명령어로 브랜치를 삭제하였으나, history 내역이 그대로 남아 있음.

그렇지만, 로컬 레포지토리에 문서는 main 브랜치에 마지막 커밋 상태로 되돌아와 있었음.

브랜치는 사라졌지만 history에 커밋했던 내용이 그대로 남아 있음

 

해결방법

Sourcetree 브랜치 메뉴에 있는 브랜치 명에서 우클릭으로 삭제하지 말고, 상단 메뉴바의 브랜치를 클릭하여 삭제하고자 하는 브랜치와 "강제삭제" 박스를 함께 클릭해서 브랜치 삭제를 진행하면 말끔하게 다 삭제된다.

상단 메뉴바에서 브랜치를 클릭하면 뜨는 창

 

혹은 삭제하고자 하는 브랜치에서 체크아웃을 했는지 꼭 확인해 볼 것!

아래와 같이 main 브랜치 앞에 동그라미 표시가 있어야 test 브랜치에서 체크아웃이 제대로 된 것이고, 이 상태에서 test 브랜치 우클릭 > 브랜치 삭제 > 강제삭제 체크 후 삭제를 진행하면 정상적으로 잘 삭제가 된다.