特定のファイルがリポジトリに追加されたコミットを特定する最も簡単な方法は何ですか?
4 に答える
簡単です。次のコマンドは、ファイルがリポジトリに追加された最初のコミットを示しています。
git log --oneline filename | tail -1
ファイルを導入したコミットを本当に見つけたい場合は、名前の変更を検討する必要があります。したがって、
git log --follow --diff-filter=A -- <filepath>
--diff-filter=[(A|C|D|M|R|T|U|X|B)… [*]]
追加 (A)、コピー済み (C)、削除済み (D) のファイルのみを選択)、変更 (M)、名前変更 (R) ...--follow
名前の変更を超えてファイルの履歴を一覧表示し続けます (単一のファイルに対してのみ機能します)。
--find-renames
最終的には、しきい値も調整する必要があります。
--find-renames[=]
差分を生成する場合、各コミットの名前変更を検出して報告します。履歴をたどりながら名前を変更してファイルを追跡するには、--follow を参照してください。n が指定されている場合、それは類似性指標 (つまり、ファイルのサイズと比較した追加/削除の量) のしきい値です。たとえば、-M90% は、ファイルの 90% 以上が変更されていない場合、Git が削除/追加のペアを名前変更と見なす必要があることを意味します。% 記号がない場合、数値は分数として読み取られ、その前に小数点が付きます。つまり、-M5 は 0.5 になり、-M50% と同じになります。同様に、-M05 は -M5% と同じです。検出を正確な名前変更に制限するには、-M100% を使用します。デフォルトの類似度指数は 50% です。