我在Ubuntu 10.04 (Lucid Lynx)上使用Git。
我已经向我的主人许下了一些承诺。
但是,我想知道这些提交之间的区别。它们都在我的主分支上。
例如:
commit dj374
made changes
commit y4746
made changes
commit k73ud
made changes
我想知道k73ud和dj374的区别。然而,当我执行以下操作时,我无法看到我在k73ud中所做的更改。
git diff k73ud..dj374 > master.patch
我总是喜欢使用命令行和用户友好的工具(GUI)在我的手中。两全其美。下面是我如何比较Git中的两次提交。
您可以显示两次提交之间的差异,如下所示。
在文本编辑器中编辑git配置文件:
git config --global -e
在Git配置文件中设置一个合适的diff工具(用户友好),就像Windows中的Meld一样:
[difftool "meld"]
cmd = "C:/Program Files (x86)/Meld/Meld.exe" "LOCAL\" \"REMOTE" --label "DIFF (ORIGINAL MY)"
prompt = false
path = C:\Program Files (x86)\Meld\Meld.exe
可以使用Chocolatey从命令行安装Meld:
choco install meld
让我们定义一个shell函数来帮助我们比较TEXT EDITOR中[alias]下的两个sha-s(提交):
[alias]
showchangesbetween = "!w() { git difftool \"$1\" \"$2\" --dir-diff --ignore-all-space; }; w"
要在Meld(或其他你喜欢的diff工具)的帮助下比较提交,只需在命令行输入:
git showchangesbetween somesha123 somesha456
提交sha-s是很容易看到的输入
git log
为例。