272

foo.js少し前にコミットされたファイルがあるとします。このファイルが最初に追加されたコミットを簡単に見つけたいと思います。

答えと私自身のいじくり回しを読んだ後、これは私にとってうまくいきます

git log --follow --diff-filter=A --find-renames=40% foo.js
4

4 に答える 4

401

パイプラインを必要としない、より簡単な「純粋な Git」の方法を次に示します。

git log --diff-filter=A -- foo.js

ドキュメントを確認してください。削除済み、変更済みなどについても同じことができます。

https://git-scm.com/docs/git-log#Documentation/git-log.txt---diff-filterACDMRTUXB82308203

私はいつもそれを忘れるので、これには便利なエイリアスがあります。

git config --global alias.whatadded 'log --diff-filter=A'

これにより、次のように簡単になります。

git whatadded -- foo.js

$PWD以下の 1 つのライナーは、ファイルへの絶対パスまたは相対パスを指定する必要なく、 forのサブディレクトリを再帰的に検索しfoo.jsます。また、ファイルが同じディレクトリにある必要もありません。$PWD

git log --diff-filter=A -- **foo.js
于 2012-11-28T04:52:11.157 に答える
23
git log --follow --find-renames=40% --oneline -- foo.js | tail -n 1
于 2012-07-18T01:46:18.520 に答える