如何仅列出在两次提交之间更改的文件名?

我在回购中有一堆提交。 我希望看到在两次提交之间更改的文件列表 - 从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?

    下一篇: Can I try/catch a warning?