Gitを使用したローカルブランチの削除


135

私はググってみましたが、このトピックにはいくつかの非常に長いスレッドがあり、どれも役に立たないようです。私は何か間違っていると思います。というブランチがありTest_Branchます。おすすめの方法で削除しようとすると、次のエラーが表示されます。

'[ディレクトリの場所]'でチェックアウトされたブランチ 'Test_Branch'を削除できません。

それ以外の情報はありません。リモートブランチを簡単に吹き飛ばすことができますが、ローカルブランチは消えません。


ところで、私はGitがまったく新しいです。過去数日間のみ使用しています。いくつかのオンラインコースを受講して数冊の本を読んだことがあり、答えもそこにないようです。
Bob Wakefield 2017年

を実行するとgit branch、何と表示されますか?
コアダンプ2017年

19
絵では、これは何が起こっているかである:publicdomainpictures.net/pictures/10000/velka/...
コアダンプ

gitブランチは* Test_Branchマスター
ボブウェイクフィールド

スターは、現在どのブランチにいるかを示します。これは、答えが言うことを確認します
コアダンプ

回答:


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 2017年

2
いくつかの異なるチェックアウトを試しても同じメッセージが表示される場合はgit status、またはの出力を確認してくださいgit branch。Test_branchをリベースしている場合、別のブランチ/コミットをチェックアウトするだけではこれは修正されません。その代わりgit rebase --abortgit checkout --detachそして最後にgit branch -D Test_branch
ドロイド、

3
git「gitはひどい」を表すというさらなる証拠 使用すればするほど、これらのとんでもないフープをジャンプしなければなりません。特に、おそらく同じブランチに切り替えたいと思うので。
user949300

そして、もし誰かがこれを手に入れたら、ブランチを変えようとするとどうなりますか?error: you need to resolve your current index first彼らは去りたいだけなの?編集-ソリューション:git reset --; git checkout -D [branch_name]Phew ..
ポール、

21

Test_Branchがチェックアウトされている可能性があり、現在のブランチである間は削除できません。別のブランチをチェックアウトしてから、Test_Branchを削除してみてください。


14

今日これに遭遇し、別のブランチに切り替えることは助けにはなりませんでした。どういうわけか、私のワークツリー情報が破損していてHEAD、ブランチ(git worktree list)を指している私の作業ディレクトリと同じフォルダーパスを持つワークツリーがあったことがわかりました。.git/worktree/参照していたフォルダを削除して動作しgit branch -dました。


3

git worktreeで複数のワークツリーを作成した場合はgit prune、ブランチを削除する前に実行する必要があります


3
より具体的には、使用する必要がありますgit worktree prune
セルジオエット

しかし、最初にgit pruneが行うことを読んでください-データの損失につながる可能性があります
sesquipedalias

1

これは私のために働きました...
.git / worktreesフォルダー内のフォルダーを削除してから、「git delete -D branch-name」を試しました。


1

私の場合、以前のブランチからのコミットされていない変更が残っています。私は次のコマンドを使用してから、削除が機能しました。

git checkout *

gitチェックアウトマスター

gitブランチ-D


0

他の人が述べたように、現在作業中のブランチを削除することはできません。

私の場合、Visual Studioで "Test_Branch"を選択し、Sourcetree(Git GUI)から "Test_Branch"を削除しようとしました。エラーメッセージを下回っていました。

'[ディレクトリの場所]'でチェックアウトされたブランチ 'Test_Branch'を削除できません。

Visual Studioで別のブランチに切り替え、Sourcetreeから「Test_Branch」を削除できました。

これがVisual StudioSourcetreeを使用している人の役に立つことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.