命令:
git log --oneline --name-status
--author=$AUTHOR $COMMIT_RANGE | grep -vE '[a-fA-F0-9]{5} '
| sort | uniq | cat -n
返回作者在一系列提交之间修改的文件列表,状态为例如M
表示修改。
1 M a_file
2 M another_file
3 M file
4 D file
我怎样才能只显示文件 file
发生的最后一件事,例如这里它被删除了 (D
)?
我不想看到之前对文件的修改(即 M
),只希望看到在该提交范围内发生的最后一件事。
感谢关注!
最佳答案
您可以调整 uniq
以仅查看特定字段:
git log --oneline --name-status
--author=$AUTHOR $COMMIT_RANGE | grep -vE '[a-fA-F0-9]{5} '
| sort -r | uniq -f 1 | tac | cat -n
我还使用了 tac
再次反转输出。不过你可以不提它。它也是一个 GNU 实用程序,您在 BSD/OS X 机器上找不到它。
关于git - 如何列出作者在提交范围内修改的所有文件,但仅列出 Git 中文件发生的最后一件事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34650270/