マージ後のブランチをどうするか


回答:


410

マージ後、ブランチを削除しても安全です:

git branch -d branch1

さらに、gitはまだ完全にマージしていないと判断した場合、警告を出し(ブランチの削除を拒否します)します。git branch -Dまだ完全にマージされていない(を使用して)ブランチを強制的に削除する場合、マージされていないコミットを取り戻すためにいくつかのトリックを行う必要があります(以下を参照)。

ただし、ブランチを維持する理由はいくつかあります。たとえば、それが機能ブランチである場合、そのブランチ内にある機能に対してバグ修正を実行できるようにしたい場合があります。

リモートホスト上のブランチも削除したい場合は、次のようにします。

git push origin :branch1

これにより、リモートのブランチが強制的に削除されます(ただし、これは既にチェックアウトされているリポジトリには影響せず、再プッシュ/作成するためのプッシュアクセス権を持つユーザーを防ぐことはできません)。


git reflog最近チェックアウトされたリビジョンを示します。最近のリポジトリ履歴でチェックアウトしたブランチもそこに表示されます。それとは別にgit fsck、gitでコミットが失われた場合に最適なツールになります。


ブランチを保存する場合は、削除する前にタグを作成できます。その時点に戻りたい場合は、そのタグをチェックアウトできます。
Joqus、2015

3
@Joqusその場合は、ブランチとして保持することをお勧めします。公開しないでください。
JonasSchäfer、2015

念のため-ブランチを削除する前に「完全にマージ」したい場合は、マージ後、削除する前にそのブランチをプッシュしてください。何かgit checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
avtomaton

25

削除よりも名前の変更を優先します

私のすべてのブランチは、

  • Fix/fix-<somedescription> または
  • Ftr/ftr-<somedescription> または

Towerをgitフロントエンドとして使用するFtr/Fix/、すべての、Test/などがフォルダーに整理されます。
ブランチが完成したら、名前をに変更しますDone/...-<description>

そうすることで、それらはまだそこにあり(履歴を提供するのに便利です)、それが何であったか(機能、修正、テストなど)を知っていれば、いつでも戻ることができます。


4
リモートブランチの名前も変更しますか?
VitalyB 2018年

21
これらのブランチを保持し、名前変更するのは非常識なことです。ここで何か不足していますか?いつでもブランチを再作成できます。stackoverflow.com/questions/3640764/...
ksav

マージ後のブランチを保持する意味がありません
ラスタマン'26 / 02/26

2
修正、テスト、完了という名前の変更に関するアイデアの+1 ...ブランチを維持することは、請負業者が私の会社に支払われる方法です。
jpfreire

1

先に進んで、マージ後にブランチを削除する場合。
ただの世話をする
、あなたのDELETEDの枝のすべてのハイパーリンクのURLが参照されますBROKEN

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