如何仅针对当前修改的文件查看与另一个分支的 git 差异?
How do I look at the git differences from another branch, for only the currently-modified files?
通常当我进行基线测试时,我想看看测试产品相对于合并父产品有什么变化,但那时我不想查看所有差异。 (即,我不想看到代码,或者我已经在分支的早期变更集中完成的测试。)
如何将差异缩小到仅当前修改的文件?
git diff --name-only HEAD | xargs git diff <branch-or-commit> --
当你运行这个时,你必须在存储库的根目录中。
一个选择是
git diff <branch> -- $(git diff --name-only)
这有一个限制,您必须 运行 它在根目录中才能正确解释路径。
如果你不想要这个限制,你可以使用 sed 和 xargs
git diff --name-only HEAD | sed 's/^/:\/:/' | xargs git diff <branch-or-commit> --
通常当我进行基线测试时,我想看看测试产品相对于合并父产品有什么变化,但那时我不想查看所有差异。 (即,我不想看到代码,或者我已经在分支的早期变更集中完成的测试。)
如何将差异缩小到仅当前修改的文件?
git diff --name-only HEAD | xargs git diff <branch-or-commit> --
当你运行这个时,你必须在存储库的根目录中。
一个选择是
git diff <branch> -- $(git diff --name-only)
这有一个限制,您必须 运行 它在根目录中才能正确解释路径。
如果你不想要这个限制,你可以使用 sed 和 xargs
git diff --name-only HEAD | sed 's/^/:\/:/' | xargs git diff <branch-or-commit> --