「古い」gitブランチとは何ですか?


133

"古くなった" gitブランチは、よく耳にする用語です。私はそれがあまり役に立たないと役に立たないと見なされているブランチと関係があることを知っていますが、正確な定義を見つけることができません。「古い」gitブランチとは何ですか?

回答:


96

「古い」への最も古い参照は、コミットe194cd1(2007年1月、Git 1.5.0)にあり、「リモートで古い追跡ブランチ」を検出しました。リモートシステムによって削除されたブランチを追跡するとき。
したがってgit remote prune

それが古いブランチの主な定義です。リモートトラッキングブランチ(リモートリポジトリブランチのローカル参照)は何も追跡なくなります(リモートリポジトリの実際のブランチがなくなったため)。

git remote show それらをリストすることができます。


ちなみに、Gitシステムには「古くなった」という他の2つの定義があります。

  • "stale"への別の参照はgit reflog --stale-fix、「壊れたコミット」を追跡するために、コミット1389d9d(Git 1.5.0)に関係します。どの参照からも到達できず、コミット、ツリー、またはblobオブジェクトにオブジェクトがありませんそこから到達可能であり、どの参照からも到達可能ではありません。 これは、reflogが存在する場合に、古いgitからreflog非対応を実行した後の状況を修正するのに役立ちます。
    git prune

  • Commit 740fdd2(2008年3月、Git 1.5.5)では、シンボリック refが指すrefが存在しない場合に、それらが「古くなった」記号を導入しています。


@SteelToeで言及されているようにGitHubのドキュメントにある古いブランチの定義は、過去3か月間にコミットがなかったブランチです。
これは通常、古い/維持されていない/現在のブランチではないことを示します。


まったく新しいリモートのオリジンにプッシュしているときにこれを確認しました。これは、(当然)ブランチがなかったためです。
Noumenon 2016

「リモートトラッキングブランチ」<-これを言うと、リモートリポジトリに存在するブランチについて話しているように思われますが、つまり、以前にローカルで追跡したリモートブランチですが、 「リモートリポジトリの実際のブランチがなくなりました」でしょ?
ハニー

@ハニー(数ヶ月遅れ)はい、それがアイデアです。回答を更新して、リモート追跡ブランチとは何かを示すリンクを追加しました。
VonC


17

「正確な定義」がないからです。「古いgitブランチ」、「古いデータ」、「古い構成オプション」-これらのどれも正確な定義はありませんが、すべて古い/保守されていない/最新ではない/壊れていると考えられるものを指します。

したがって、「古くなったgitブランチ」は、通常、長い間触れられていないリポジトリのブランチです。壊れているかもしれませんし、そうでないかもしれません。それは確かにアクティブな開発ブランチにとって現在のw / r / tではなく、だれもそれをしばらく見ていません。


12
:githubの上、最後の3ヶ月で更新されていない分岐は無効と見なされhelp.github.com/articles/viewing-branches-in-your-repository
ルドビクRonsin

3

古いブランチは、しばらくしてから活動のないブランチです。Githubでは、3か月間何も操作しないと古くなります。

理由、プロジェクトに古いブランチがある理由:未リリースの機能、プロトタイプ、代替ソリューション、不完全、互換性なし。

続きを読む

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.