84

Git では、ブランチの「削除」とはどういう意味ですか?

リポジトリから削除されますか? それとも、経由でナビゲートできgit branchますか?

私が本当にやりたいのは、ブランチを「行き止まり」としてマークすることです。つまり、ブランチはマスターから遠く離れているため、そのブランチにはいくつかの良いアイデアがありましたが、誰もそれを開始点として使用しないでください。参考までに残しておきたいと思います。

4

4 に答える 4

160

ブランチを削除することはできますが、履歴が消えないように、最初にタグを付けてください。このように、ブランチはブランチリストに表示されません。これにより、人々がブランチで作業するのを思いとどまらせることができますが、作業が完全に消去されることはありません(ガベージコレクションが実行された後でも)。たとえば、無関係になったブランチがあるが、完全に削除する準備ができていない場合は、「archive/<ブランチ名>」というタグを付けます。

オンmasterまたは他のブランチにいる間:

git tag archive/foo foo
git branch -D foo

これにより、削除する前archive/fooにブランチから名前が付けられたタグが作成されます。タグにメッセージを追加して、ブランチの内容、存在した理由、行き止まりになっている理由などを説明することもできます。foofoo

git tag -m 'Foo is deprecated in favor of bar' archive/foo foo

ブランチが非推奨になった理由を記録する機能は、ブランチを別の名前空間に移動するのではなく、タグ付けすることの利点となる可能性があります。

この方法でアーカイブされたブランチを復活させる必要がある場合は、次のように簡単です。

git branch foo archive/foo
git tag -d archive/foo       # Optional

これで、ブランチは削除されなかったかのように戻ります。

于 2010-02-26T18:06:46.070 に答える
3

git branch -D <branchName>リポジトリからブランチを削除します。あなたはそれを見ることができなくなり、もうナビゲートすることができなくなります。また、そのブランチで行われたすべてのファイル変更が失われます。

https://git-scm.com/docs/git-branch

于 2010-02-26T15:55:02.873 に答える
3

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

または、廃止されたブランチ用に別のリポジトリを作成し、それらをプルして元のブランチから削除することもできます。どちらの場合でも、ブランチをフォローしているすべてのユーザーに影響を与えます。リポジトリのコンテンツは変更されません (ブランチ名も変更されません)。しかし、ユーザーが再度プルしようとすると、構成でターゲットを変更する必要があります。

于 2010-02-26T16:15:01.697 に答える
0

git ブランチを介してナビゲートすることはできず、ガベージ コレクションが実行されるまで、リポジトリから失われることはありません。

問題のブランチを行き止まりとしてマークしたい場合は、そうするだけです (git はこれを行わないかもしれませんが、確かに可能です)!

歴史的な参照として機能するように(好きな方法で)ラベルを付けます。

于 2010-02-26T16:29:30.417 に答える