如何查看上次或特定提交中更改的文件列表?

时间:2014-04-08 07:57:56

标签: git

我总是尝试用测试覆盖我的所有代码。但有时候,即使并非所有代码都被覆盖,我也会进行太多更改。这些时候我需要检查最后更改的文件或特定的提交以查看是否覆盖。了解列出(通过控制台)上次提交中更改的所有文件的方法会很有用。上次提交或特定提交。现在我使用SourceTree,但我不喜欢从控制台传递到sourcetree,再次传递到sourcetree到控制台。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

如果您只想要更改的文件名,请尝试...

git show --pretty="format:" --name-only

它将显示您在当前分支的最后一次提交中更改的所有文件。

如果您不想输入less,请使用...

git diff-tree --no-commit-id --name-only -r HEAD

答案 1 :(得分:1)

git diff --name-onlygit diff --name-status是执行此操作的两种标准方法:您可以为它们提供任何单个提交,将当前工作树与该提交进行比较,或者将任何一对提交进行比较以进行比较

您还可以向git show添加diff选项,以便git show --name-only打印日志消息,然后打印文件列表; git show --name-status也会添加状态字母。这对于合并提交的效果略有不同,因为git show默认使用“组合差异”(请参阅​​git diff documentation,大约一半,关于组合差异;请注意-m,{{ 1}}将产生多个单独的差异)。 (和alex noted一样,您可以使用git show更改或删除标题信息。)

我喜欢其中一个非常古老的命令--pretty=format:<directives>,我自己(它是git whatchanged的变体; git log做同样的事情)。我看到git log --raw可能会消失的提示,但至少git whatchanged应该留下来。 git log --raw中使用相同的输出格式;再次,请参阅git diff documentation