Git显示整个文件的变化

时间:2014-12-01 22:08:29

标签: git diff git-diff git-show

有没有办法让git show命令在查看提交时显示文件的全部内容?例如:如果它当前显示类似

的内容
foo.cpp

+++ int main() {
+++    std::cout << "HELLO" << std::endl;
+++ }

我希望输出说:

foo.cpp

#include <stdio> //assuming this was from an earlier commit

+++ int main() {
+++    std::cout << "HELLO" << std::endl;
+++ }

有一种简单的方法吗?

2 个答案:

答案 0 :(得分:6)

这是一种黑客攻击,但git show(如git diff)具有-U选项,可让您指定要显示的上下文行数。如果您使用的数字大于差异与文件开头或结尾之间的区域,那么它将显示整个文件。因此,如果你使用一个非常大的数字,它会以你希望的方式工作(希望)你尝试的任何文件:

git show -U99999

答案 1 :(得分:0)

此命令显示整个文件:

git show HEAD:./<path_to_file>

它也适用于任何版本:

git show <rev-id>:./<path_to_file>