2012-04-20 2 views
52

コミットを行い、そのブランチを閉じるには、から履歴を削除せずにを削除します。gitの履歴からそれを削除せずにブランチを閉じるには?

水銀で私はcommit --close-branch、その後は前のものにupdateと働いています。 gitと...私は混乱しています。

+1

_Needless言い換えれば、これらのキーワードを検索すると、私はたいていその逆のことを見つけました。つまり、歴史からものを取り除こうとする人々です._ –

+1

私はこの用語を混乱させる原因になると思います。 gitでは、ブランチを閉じたとは思わない。水銀では「クローズドブランチ」は正確に何をしますか? – MikaelHalen

+2

水銀で枝を閉じるのは素晴らしいことです:誰もその頭を押し続けることはできません。 - そのための方法はありますか? –

答えて

70

GitブランチはMercurialよりも軽量であるため、Gitでブランチを閉じるのと全く同じことはありません。 Mercurialの等価物は、枝よりも多くのブックマークです。

私が正しく理解していれば、Mercurialのブランチを閉じると、ブランチリストから消えてしまうので、アーカイブすることで同じことができます。 usual practiceはアーカイブとしてその先端にタグを付けて、それを削除することです:

git tag archive/<branchname> <branchname> 
git branch -d <branchname> 
git checkout master 

ブランチが削除され、タグをチェックアウトし、後で取り出すことができ、およびブランチを再作成:

git checkout archive/<branchname> 
git checkout -b new_branch_name 
+0

少なくともgit 1.9.1では '-d'ではなく' git branch -D'を使う必要がありました。 –

+0

-Dは、対応するブランチがまだマスターと完全にマージされていない場合に必要です。 – Simeon

関連する問題