Git 显示整个文件的变化

标签 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;
+++ }

有没有简单的方法可以做到这一点?

最佳答案

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

git show -U99999

关于Git 显示整个文件的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27238258/

相关文章:

GIT 损坏的文件 (<<<<<<<<HEAD)

git - 如何将 Git 分支移出到它自己的存储库中?

c++ - c++/mfc/STL 中两个数组的差异函数?

python - Perforce 是否有原生 diff python 函数返回 bool 类型而不是 diff 列表?

windows - git diff 的输出在 powershell 中处理不正确

两次提交之间的 Git diff 中间没有一些提交

git - 离开 Github,如何更改 Git 仓库的来源?

windows - git stash 留下修改后的文件?

git - 如何在不关闭文件之间的编辑器的情况下解决与 "git mergetool"的多个冲突?

Git diff 所有本地未提交的更改