ファイルを別の場所に移動したり、名前を変更したりした場合git log
、特にを使用しない限り、以前の履歴はすべて失われますgit log --follow
。通常、予想される動作は、名前の変更や移動の後に「切り取られる」のではなく、過去の履歴も表示したいということです。デフォルトでフラグgit log
を使用しない理由はありますか?--follow
2 に答える
注:git 2.6(2015年第3四半期)以降、gitログはデフォルトでファイルの履歴をたどることができます!
David Turner()によるcommit 076c983(2015年7月8日)を参照してください。(濱野純雄による合併---コミット2dded96、2015年8月3日)dturner-tw
gitster
log
log.follow
:" "構成変数を追加ファイル全体の名前が頻繁に変更される、ほとんど線形の履歴を持つプロジェクトで作業する人
git log --follow
は、単一のパスに存在するコンテンツの寿命を検査するときに常に「」を使用することをお勧めします。構成変数が設定され、コマンドラインにパスが1つ(唯一)ある
--follow
場合に、コマンドラインから「」が指定されたかのように動作するようにコマンドを指示しますlog.follow
。
git config log.follow true
注:構成設定--no--follow
をオーバーライドできる(2020年とGit 2.25ではまだ文書化されていない)オプションもあります。Vserはパッチを提案しています。
Jeff King(peff)は、私がディスカッションで述べたのと同じコミットを指摘しています。commitaebbcf5、Git 1.8.2、2012年9月に紹介されました。log.follow
--no-follow
おそらくそれgit log
は、単一のファイルまたはパスの履歴ではなく、全体的なコミット履歴を表示するために一般的に使用されるためです。この--follow
オプションは、単一のファイルを表示している場合にのみ関係します(複数のファイルに名前を付けると機能しません)。これは最も一般的なケースではないため、デフォルトとして追加することは実際には意味がありません。
自分でデフォルトにしたい場合は、いつでもエイリアスを作成できます。
git config --global alias.lf 'log --follow'
これで、必要な動作を取得するために実行できますgit lf <filename>
。
注:要求している変更をメーリングリストに提案し、人々の意見を確認したい場合は、ここでそれを行うことができます。または、さらに良いことに、パッチを送信することもできます。