master
との 2 つのブランチがありました。にbranch1
マージし直したので、そのブランチは完了です。削除するべきでしょうか、それともそのままにしておくべきでしょうか。削除するとデータが失われるでしょうか。branch1
master
ベストアンサー1
マージ後は、ブランチを削除しても安全です。
git branch -d branch1
さらに、git は、まだ完全にマージされていないと判断した場合、警告を表示します (ブランチの削除を拒否します)。ただし、git branch -D
まだ完全にマージされていないブランチ ( を使用) を強制的に削除する場合は、マージされていないコミットを取り戻すためにいくつかのトリックを実行する必要があります (以下を参照)。
ただし、ブランチを保持しておく理由はいくつかあります。たとえば、機能ブランチの場合は、そのブランチ内でその機能のバグ修正を実行できるようにしたい場合があります。
リモート ホスト上のブランチも削除したい場合は、次のようにします。
git push origin :branch1
またはそれと同等のもの:
git push -d origin branch1
これにより、リモート上のブランチが強制的に削除されます (ただし、これはすでにチェックアウトされているリポジトリには影響せず、プッシュ アクセス権を持つユーザーが再度プッシュ/作成することを妨げることはありません)。
git reflog
最近チェックアウトされたリビジョンを表示します。最近のリポジトリ履歴でチェックアウトしたブランチもすべて表示されます。それ以外にも、git fsck
git でコミットが失われた場合に選択するツールになります。