显示提交之间的差异
我在Ubuntu 10.4上使用git。
我向主人做了一些承诺。
但是,我想要了解这些提交之间的区别。 他们都在我的主分支。
例如:
commit dj374 made changes commit y4746 made changes commit k73ud made changes
所以我想知道k73ud和dj374的区别。 但是,当我做了以下,我看不到我在k73ud做的变化。
git diff k73ud..dj374 > master.patch
非常感谢您的任何build议,
你试过了吗
git diff k73ud^..dj374
确保在所得到的差异中包含k73ud
所有变化?
git diff
比较两个端点( 而不是提交范围 )。
由于OP要查看k73ud
引入的变化,他/她需要在k73ud
: k73ud^
(或k73ud^1
或k73ud~
)的第一个父提交之间进行k73ud
。
这样, diff
结果将包括自 k73ud
家长以来的变化(意味着包括k73ud
本身的变化),而不是从 k73ud
(直到dj374
)引入的变化。
要查看之间的区别…
…你的工作副本和分期区域:
% git diff
…中转区和最新的承诺:
% git diff --staged
…你的工作副本并提交4ac0a6733:
% git diff 4ac0a6733
…提交4ac0a6733和最新的提交:
% git diff 4ac0a6733 HEAD
…提交4ac0a6733并提交826793951
% git diff 4ac0a6733 826793951
有关更多解释,请参阅官方文档 。
如果你想查看每个提交引入的更改,请尝试“git log -p”
我使用gitk
来查看差异。
gitk k73ud..dj374
它有一个GUI模式,使审查更容易。
-
gitk --all
- select第一个提交
- 右键点击另一个,然后diffselect→this
要查看2个不同的提交(让我们称之为a,b)之间的差异,使用
git diff a..b
*请注意,a和b之间的差异与b和a相反。
要查看上次提交和尚未提交的更改之间的差异,请使用
git diff
如果您想稍后再回到diff,可以将其保存在文件中。
git diff a..b > ../project.diff
检查这个命令是否有区别。
git difftool --dir-diff