Git으로 로컬 브랜치 삭제


135

나는 봤는데이 주제에 대해 매우 긴 스레드가 몇 개 있는데 그중 어느 것도 도움이되지 않는 것 같습니다. 내가 잘못하고 있다고 생각합니다. 라는 지점이 Test_Branch있습니다. 권장 방법을 사용하여 삭제하려고하면 다음 오류가 발생합니다.

'[directory location]'에서 체크 아웃 된 'Test_Branch'분기를 삭제할 수 없습니다.

그 외에는 다른 정보가 없습니다. 원격 지점을 쉽게 날려 버릴 수 있지만 로컬 지점은 사라지지 않습니다.


BTW, 나는 Git을 처음 접했다. 지난 며칠 동안 만 사용했습니다. 몇 가지 온라인 과정을 수강하고 몇 권의 책을 읽었으며 그 대답도 거기에없는 것 같습니다.
밥 웨이크 필드

를 실행 git branch하면 무엇을 말합니까?
코어 덤프

19
사진에서, 이것은 일어나고 있습니다 : publicdomainpictures.net/pictures/10000/velka/…
coredump

git branch는 * Test_Branch master
Bob Wakefield를 제공합니다.

별은 당신이 대답의 말이 확인한다, 현재있는 지점을 알려줍니다
코어 덤프

답변:


245

Test_Branch다음과 같이 다른 분기로 전환하고 삭제하십시오 .

$ git checkout master
$ git branch -d Test_Branch

위의 명령으로 오류가 발생 The branch 'Test_Branch' is not fully merged. If you are sure you want to delete it하지만 여전히 삭제하려는 경우 다음 과 같이 대신 대신을 사용하여 강제로 삭제할-D-d 수 있습니다 .

$ git branch -D Test_Branch

Test_Branch원격에서도 삭제하려면 다음 을 실행하십시오.

git push origin --delete Test_Branch

34
전환 지점 은 나에게있어-좋은 캐치! 지점이 활성화되어 있으면 삭제할 수 없습니다. ;-)
SliverNinja-MSFT

2
몇 가지 다른 체크 아웃을 시도해도 여전히 같은 메시지가 표시되면의 출력을 git status보거나 git branch; Test_branch를 리베이스하는 경우 단순히 다른 브랜치 / 커밋을 체크 아웃해도 문제가 해결되지 않습니다. 대신 git rebase --abort다음 git checkout --detach마지막으로git branch -D Test_branch
드로이드

3
또한 증거 것을 자식은 의미 "자식 끔찍한입니다." 내가 그것을 더 많이 사용할수록 당신이 뛰어 넘어야 할이 우스운 후프가 더 많아집니다. 특히 같은 브랜치로 바로 전환하고 싶을 수도 있습니다.
user949300

분기를 변경하려고 할 때 누군가가 대가로 이것을 얻는다면? error: you need to resolve your current index first그들은 그냥 떠나고 싶어? 편집-솔루션 : git reset --; git checkout -D [branch_name]Phew ..
Paul

21

Test_Branch를 체크 아웃했을 수 있으며 현재 브랜치 인 동안에는 삭제할 수 없습니다. 다른 지점을 확인한 다음 Test_Branch를 삭제하십시오.


14

오늘이 문제에 부딪 쳤고 다른 지점으로 전환해도 도움이되지 않았습니다. 어떻게 든 내 작업 트리 정보가 손상 HEAD되어 분기 ( git worktree list)를 가리키는 작업 디렉토리와 동일한 폴더 경로를 가진 작업 트리가있는 것으로 나타났습니다 . .git/worktree/참조 하는 폴더를 삭제 하고 git branch -d작동했습니다.


3

git worktree로 여러 작업 트리를 만든 경우 git prune분기를 삭제하기 전에 실행 해야합니다.


3
더 구체적으로, 당신은 사용해야합니다git worktree prune
Sergioet

그러나 git prune이 무엇을하는지 먼저 읽으십시오-데이터 손실로 이어질 수 있습니다
sesquipedalias

1

이것은 나를 위해 일했습니다 ...
.git / worktrees 폴더에있는 폴더를 제거한 다음 "git delete -D branch-name"을 시도했습니다.


1

필자의 경우 이전 지점에서 커밋되지 않은 변경 사항이 남아있었습니다. 다음 명령을 사용한 다음 삭제되었습니다.

자식 체크 아웃 *

자식 체크 아웃 마스터

자식 분기 -D


0

언급 한 다른 사람들처럼 현재 작업중 인 지점을 삭제할 수 없습니다.

필자의 경우 Visual Studio 에서 "Test_Branch"를 선택 하고 Sourcetree (Git GUI)에서 "Test_Branch"를 삭제하려고했습니다. 그리고 아래 오류 메시지가 나타납니다.

'[directory location]'에서 체크 아웃 된 'Test_Branch'분기를 삭제할 수 없습니다.

Visual Studio 에서 다른 분기로 전환 했으며 Sourcetree에서 "Test_Branch"를 삭제할 수있었습니다.

Visual Studio & Sourcetree를 사용하는 사람에게 도움이되기를 바랍니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.