20

ファイルを別の場所に移動したり、名前を変更したりした場合git log、特にを使用しない限り、以前の履歴はすべて失われますgit log --follow。通常、予想される動作は、名前の変更や移動の後に「切り取られる」のではなく、過去の履歴も表示したいということです。デフォルトでフラグgit logを使用しない理由はありますか?--follow

4

2 に答える 2

43

注:git 2.6(2015年第3四半期)以降、gitログはデフォルトでファイルの履歴をたどることができます!

David Turner()によるcommit 076c983(2015年7月8日)を参照してください。濱野純雄による合併---コミット2dded962015年8月3日dturner-tw
gitster

loglog.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

于 2015-08-16T20:34:49.543 に答える
8

おそらくそれgit logは、単一のファイルまたはパスの履歴ではなく、全体的なコミット履歴を表示するために一般的に使用されるためです。この--followオプションは、単一のファイルを表示している場合にのみ関係します(複数のファイルに名前を付けると機能しません)。これは最も一般的なケースではないため、デフォルトとして追加することは実際には意味がありません。

自分でデフォルトにしたい場合は、いつでもエイリアスを作成できます。

git config --global alias.lf 'log --follow'

これで、必要な動作を取得するために実行できますgit lf <filename>

注:要求している変更をメーリングリストに提案し、人々の意見を確認したい場合は、ここでそれを行うことができます。または、さらに良いことに、パッチを送信することもできます。

于 2012-08-27T23:37:31.310 に答える