任何方式来获得git diff与单一命令中的提交更改

时间:2011-08-02 10:30:17

标签: git

有没有什么方法可以通过单个命令获取文件的diff的详细信息以及它的提交ID详细信息?目前,“git diff tag1..tag2”为我提供了两个标签之间的整个代码更改,但没有提交提交ID和提交原因。当我使用“git log”时,它给了我完整的提交更改以及在比较两个标记时我不关心的更改。

1 个答案:

答案 0 :(得分:21)

  

但是这个更改还有一个我想要的提交ID和提交原因   相同的差异文件

我认为这里有点混乱。 git-diff输出一个提交和另一个提交之间的差异,该差异不仅仅是一个提交,它表示您指定范围内的一系列提交(在您给出的示例中为662a1fa..64f9766)。因此,这将是多个提交ID和消息,如果您的标签相距甚远,可能甚至数千个。

如果git diff要输出所有相关的提交消息,那么就没有办法告诉diff的哪个部分与每个提交ID和提交消息相关联。这就是git log存在的原因。

Git log会在您指定的范围内一个接一个地显示每个提交,这就是它显示提交消息的原因。

git-diff显示a和z之间的区别。
git-log显示了成为z的旅程。

考虑到这一点,我猜这可能是你在寻找的东西:

git log --color -p --full-diff tag1..tag2