web-dev-qa-db-ja.com

ファイルが追加されたコミットを見つける

しばらく前にコミットされたファイルfoo.jsがあるとします。このファイルが最初に追加されたコミットを見つけたいだけです。

答えと自分のいじくりを読んだ後、これは私のために働く

git log --follow --diff-filter=A --find-renames=40% foo.js
190
Steven Penny

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

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

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

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

いつも忘れてしまうので、これには便利なエイリアスがあります。

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

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

git whatadded -- foo.js
288
stelterd
git log --oneline -- foo.js | tail -n 1
15
Seth Robertson

以下はあなたの興味を引くものではないかもしれませんが、今後役立つと思い、Gitのエコシステムのデバッグの一部です。

git-blameを使用して、ファイルの各行、特にファイル注釈を最後に変更したリビジョンと作成者を表示できます。訪問 https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git

例えば、

git blame -L 174,190  xx.py
0
Reidel