如何仅列出在两次提交之间更改的文件名?
我在回购中有一堆提交。 我希望看到在两次提交之间更改的文件列表 - 从SHA1到SHA2。
我应该使用什么命令?
git diff --name-only SHA1 SHA2
你只需要包含足够的SHA来识别提交。 例如,你也可以做
git diff --name-only HEAD~10 HEAD~5
以查看第十次最新提交与第五次最新提交(或左右)之间的差异。
git diff --name-status [SHA1 [SHA2]]
除了你得到一个简单的前缀,告诉你文件发生了什么(修改,删除,添加...)
git log --name-status --oneline [SHA1..SHA2]
是相似的,但是提交会在提交消息之后列出,所以您可以看到文件何时发生更改。
如果您只对某些文件/文件夹发生了什么感兴趣,您可以追加-- <filename> [<filename>...]
到git log
版本。
如果您想查看单个提交发生的情况,请将其称为SHA1,然后执行
git log --name-status --oneline [SHA1^..SHA1]
文件状态标志:
M修改 - 文件已被修改
C复制编辑 - 文件已被复制和修改
R重命名 - 编辑 - 文件已被重命名和修改
添加了一个 - 文件已被添加
D已删除 - 文件已被删除
U unmerged - 文件在合并后发生冲突
但是为了看到你的分支和它的共同祖先与另一个分支(比如origin / master)之间的文件改变了:
git diff --name-only `git merge-base origin/master HEAD`
链接地址: http://www.djcxy.com/p/4517.html
上一篇: How to list only the file names that changed between two commits?