Git では、ブランチの「削除」とはどういう意味ですか?
リポジトリから削除されますか? それとも、経由でナビゲートできgit branch
ますか?
私が本当にやりたいのは、ブランチを「行き止まり」としてマークすることです。つまり、ブランチはマスターから遠く離れているため、そのブランチにはいくつかの良いアイデアがありましたが、誰もそれを開始点として使用しないでください。参考までに残しておきたいと思います。
Git では、ブランチの「削除」とはどういう意味ですか?
リポジトリから削除されますか? それとも、経由でナビゲートできgit branch
ますか?
私が本当にやりたいのは、ブランチを「行き止まり」としてマークすることです。つまり、ブランチはマスターから遠く離れているため、そのブランチにはいくつかの良いアイデアがありましたが、誰もそれを開始点として使用しないでください。参考までに残しておきたいと思います。
ブランチを削除することはできますが、履歴が消えないように、最初にタグを付けてください。このように、ブランチはブランチリストに表示されません。これにより、人々がブランチで作業するのを思いとどまらせることができますが、作業が完全に消去されることはありません(ガベージコレクションが実行された後でも)。たとえば、無関係になったブランチがあるが、完全に削除する準備ができていない場合は、「archive/<ブランチ名>」というタグを付けます。
オンmaster
または他のブランチにいる間:
git tag archive/foo foo
git branch -D foo
これにより、削除する前archive/foo
にブランチから名前が付けられたタグが作成されます。タグにメッセージを追加して、ブランチの内容、存在した理由、行き止まりになっている理由などを説明することもできます。foo
foo
git tag -m 'Foo is deprecated in favor of bar' archive/foo foo
ブランチが非推奨になった理由を記録する機能は、ブランチを別の名前空間に移動するのではなく、タグ付けすることの利点となる可能性があります。
この方法でアーカイブされたブランチを復活させる必要がある場合は、次のように簡単です。
git branch foo archive/foo
git tag -d archive/foo # Optional
これで、ブランチは削除されなかったかのように戻ります。
git branch -D <branchName>
リポジトリからブランチを削除します。あなたはそれを見ることができなくなり、もうナビゲートすることができなくなります。また、そのブランチで行われたすべてのファイル変更が失われます。
Git ブランチはリビジョンへの参照として保存されます。ブランチを削除すると、参照が削除されます。他にそのリビジョンを参照するものがない場合、最終的にガベージ コレクションが行われます。また、ブランチを削除すると、(リポジトリから) 適切に削除されます。ブランチを非推奨としてマークしたいが、後で使用するために残しておきたい場合は、ブランチをサブディレクトリに移動できます。
$ git branch
* master
testing_feature_one
testing_feature_two
$ git branch -m testing_feature_one deprecated/testing_feature_one
$ git branch
deprecated/testing_feature_one
* master
testing_feature_two
または、廃止されたブランチ用に別のリポジトリを作成し、それらをプルして元のブランチから削除することもできます。どちらの場合でも、ブランチをフォローしているすべてのユーザーに影響を与えます。リポジトリのコンテンツは変更されません (ブランチ名も変更されません)。しかし、ユーザーが再度プルしようとすると、構成でターゲットを変更する必要があります。
git ブランチを介してナビゲートすることはできず、ガベージ コレクションが実行されるまで、リポジトリから失われることはありません。
問題のブランチを行き止まりとしてマークしたい場合は、そうするだけです (git はこれを行わないかもしれませんが、確かに可能です)!
歴史的な参照として機能するように(好きな方法で)ラベルを付けます。