2016-10-06 4 views
0

バージョン管理のために、私は主にMercurialに晒されていましたが、Gitも使いやすくなっています。私がこれまでやっていたワークフローは、チュートリアルやGit初心者のための例ではあまり表示されていないようです。つまり、リポジトリからブランチを削除することです。gitリポジトリからブランチを削除するにはどうすればいいですか?

このシナリオは次のとおりです。マスターブランチにはコミットがたくさんあります。ある時点で、ある時点でマージされる可能性のあるフィーチャーのフィーチャーブランチを作成しました。しかしながら;支店は放棄され、より多くのコミットがマスターに追加されました。今では、フィーチャーブランチ上のフィーチャーの開発は不要で、中央リポジトリーにプッシュするべきではないと判断されています。水銀で、TortoiseHgのを使用して、私は、次の操作を行いたい:

http://i.imgur.com/hnLLrLF.png

5、4番コミットし、6を望む、最終処分で私を残して、レポから除去される。

http://i.imgur.com/n42zbmg.png

私は​​を使ってみることにしましたが、期待したことをしていないようです。そのブランチ上のコミットはリポジトリ内に保持されているように見えますが、ブランチ名を削除するだけです。

Gitリポジトリでそのワークフローを達成するには、最も安全な/最も安全な/最も簡単な/最速な/名前を指定するmore-types-hereの方法は何ですか?

+0

を削除し、その追跡の枝を剪定する必要がある、あなただけの不要な枝を残すことができる今

git push <remote name> --delete <branch name> 

リモートブランチを削除します。 'git branch -D 'ブランチを削除するには、それを押したり、他のブランチにマージしたりしないでください。それ自体。 Git GUIを使用している場合、メニューに 'delete the branch'のような項目があることが予想されます。 – ElpieKay

+0

これは、中央リポジトリの他のユーザーのためのソリューションになる可能性があります。 '不正な方法'は、中央リポジトリを再度複製することで、不要なブランチがなくても新しいリポジトリを取得できるようになります。私はそれの汚れた枝でレポを救う方法を望んでいた。私はそれを浄化する、私は水銀のレポでできるように? –

答えて

0

他の人が

git fetch --prune <remote name> 

は、ローカルブランチにGitリポジトリで

git branch -D <branch name> 
+0

ああ、ステップがありませんでした。 'git gc'を呼び出すと、削除されたブランチが削除されました。これを答えとしてマークする。ありがとう! :) –

関連する問題