master
とbranch1
の2つのブランチがありました。 branch1
をmaster
にマージし直しただけで、そのブランチは完成です。それを削除するべきですかそれともただそれをまわりに置いておくべきですか?削除するとデータが失われますか?
マージ後、ブランチを削除しても安全です。
git branch -d branch1
さらに、gitは、まだ完全にマージしていないと判断した場合には警告します(そしてブランチの削除を拒否します)。まだ完全にマージされていないブランチを(git branch -D
で)強制的に削除した場合は、マージされていないコミットを元に戻すためのいくつかのトリックを実行する必要があります(下記参照)。
分岐を維持する理由はいくつかあります。例えば、それが機能ブランチであるなら、あなたはまだそのブランチの内側にあるその機能にバグ修正をすることができることを望むかもしれません。
リモートホスト上のブランチも削除したい場合は、次のようにします。
git Push Origin :branch1
これはリモート上のブランチを強制的に削除します(これは既にチェックアウトされているリポジトリには影響しませんし、プッシュアクセスを持つ誰かがそれを再プッシュ/作成することを妨げることはありません)。
git reflog
は最近チェックアウトされたリビジョンを示します。最近のリポジトリ履歴でチェックアウトしたブランチもそこに表示されます。それ以外の点では、git fsck
はgitでコミットが失われた場合に選択されるツールになります。
私のすべてのブランチはFix/fix-<somedescription>
またはFtr/ftr-<somedescription>
などの形式で命名されています。私のgitフロントエンドとしてTowerを使用して、すべてのFtr/
、Fix/
、Test/
などをフォルダにきちんと整理しています。ブランチの作成が終わったら、それらの名前をDone/...-<description>
に変更します(そうすることで履歴を残すことができます)。そしてそれが何であるかを知ることができます(feature、fix、testなど)。