我在存储库中有一堆提交。我想看到两次提交之间更改的文件列表-从SHA1到SHA2。
我应该使用什么命令?
我在存储库中有一堆提交。我想看到两次提交之间更改的文件列表-从SHA1到SHA2。
我应该使用什么命令?
当前回答
正如巧妙的机器人在回答中所说:
git diff --name-status [SHA1 [SHA2]]
我的例子:
git diff --name-status 78a09k12067c24d8f117886c4723ccf111af4997
4b95d595812211553070046bf2ebd807c0862cca
M views/layouts/default.ctp
M webroot/css/theme.css
A webroot/img/theme/logo.png
其他回答
Use
git log --pretty=oneline > C:\filename.log
它将只记录一行(--prey=oneline),这是更改文件的名称。它还会将所有详细信息记录到输出文件中。
为了补充@artfurobot的答案,如果您想在两个分支之间显示更改的文件:
git diff --name-status mybranch..myotherbranch
注意优先顺序。如果您先放置较新的分支,那么它将显示文件已删除而不是已添加。
添加grep可以进一步细化:
git diff --name-status mybranch..myotherbranch | grep "A\t"
然后将只显示myotherbranch中添加的文件。
另外请注意,如果您只想查看上次提交和之前提交之间的更改文件,这很好:
git show --name-only
对于只需要关注Java文件的人来说,这是我的解决方案:
git diff --name-status SHA1 SHA2 | grep '\.java$'
基于gitdiff-name状态,我编写了gitdiffviewGit扩展,该扩展呈现了两个路径之间变化的层次树视图。