git - 如何在 2 次提交之间找到添加的文件?
问题描述
假设我touch file
,那么git add -A
,git commit -a
几次。
然后我有这样的提交:
b6913186abd9259f8e3e18f778cbb0743e431a98 commit3
a3309719f0fcee236b794fcb053ee252c762bbac commit2
4fe5675b900d7e20ec94784ad1fb5580581564ce commit1
当我想知道添加了哪些文件commit1
时commit3
,该怎么做?
解决方案
您可以找到在您的commit1
和之间添加commit3
的文件
git diff b69131..4fe567 --name-status | grep ^A
该--name-status
参数将打印在两次提交之间更改的所有文件,每个文件都在以特定字符开头的新行中更改。如果这个字符是A表示文件被添加,D表示删除文件,M表示修改,R表示重命名......所以我们可以使用grep
它来过滤它。
您可以在git-diff 文档中找到可用于过滤的所有选项。
更新:看看@jthill 下面的评论,它更适合干净地使用--name-only
and --diff-filter
。