Gitは名前の変更の追跡もコピーの追跡も行いません。つまり、名前の変更やコピーは記録されません。代わりに、名前の変更とコピーの検出を行います。あなたはリネームでの検出を要求することができますgit diff
(とをgit show
使用して)-M
オプションを、あなたが使用することによって変更されたファイルには、追加のコピー検出を要求できる-C
オプション(-C
意味を-M
)、あなたが持つすべてのファイルの中で、より高価なコピー検出を要求できる--find-copies-harder
か-C -C
を意味している(-C
暗示され、-M
)。git-diffのマンページを参照してください。
diff.renames
ブール値をtrueに設定することで常に名前の変更の検出を行うようにgitを設定することもできます(true
またはなど1
)。また、copy
またはに設定することで、コピーの検出も行うようgitに要求することもできますcopies
。git-configのマンページを参照してください。
-l
オプションgit diff
と関連する設定変数も確認してくださいdiff.renameLimit
。
git log <pathspec>
Gitでは動作が異なることに注意してください。<pathspec>
パスの区切り文字のセットがここにあります。パスは(サブ)ディレクトリ名でもかまいません。名前の変更とコピーの検出が機能するようになる前に、履歴をフィルタリングして簡素化します。名前の変更とコピーを追跡したい場合git log --follow <filename>
は、(これは現在少し制限があり、単一ファイルに対してのみ機能します)を使用します。
diff.renames
、copies
(たとえば「git config diff.renames copies
」)に設定します。私はそれが少し直観に反することに同意します。