422

と の 2 つのブランチがmasterありbranch1ました。私はマージしbranch1て元に戻しmaster、そのブランチで作業を完了しました。削除する必要がありますか、それともそのままにしておく必要がありますか? 削除するとデータが失われますか?

4

3 に答える 3

500

マージ後、ブランチを安全に削除できます。

git branch -d branch1

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

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

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

git push origin :branch1

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


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

于 2012-12-22T19:32:20.253 に答える
28

DELETEよりもRENAMEの方が好き

私のブランチはすべて次の形式で名前が付けられています

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

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

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

于 2015-07-29T02:20:31.677 に答える