質問: スタックオーバーフロー向けなのか分かりませんが。質問してみます。 私は、いつも`git config --global fetch.prune true`しているのですが。 そもそもなぜrefsが残るのでしょう。そして、なぜオプション扱いなのでしょうか。 refsを残したほうがいい場合というのが思いつきません。 というのも「pruneすれば消える」という情報は直ぐ見つかるのですが 「こういう時は、pruneしてはいけない!」という情報が見つからず、おまじない化していることに不安を覚えました。 pruneしてはいけない代表的な事例とは、どういう状況でしょうか。
回答: 代表的かどうかはわかりませんが、例えばこんなケースでしょうか? 1. 隣の人からあるブランチを引き継ぎたいので、(originを経由せずに)その人のレポジトリをremoteとして追加し、直接fetch 2. 隣の人は、渡し終わったのでローカルブランチを削除 3. 取得したリモートブランチからローカルブランチを作成する前に、別のブランチを更新しようとしてもう一度fetch 4. pruneしていたので、先に取得したリモートブランチも消えてしまう デフォルトがpruneになっていないのは、安全側に倒すためではないでしょうか。