不知道Git有没有revision的概念。
我想将当前工作副本与旧版本(不一定是最后一次提交)进行比较。
如果可以在 Emacs 中完成,那就太好了。
我不知道在 Emacs 中这样做,但是:
git diff rev1..rev2
将为整个存储库执行您想要的操作。然后,您可以添加:
git diff rev1>..rev2 path
path
可以是文件的绝对路径,也可以是目录的路径,因此您可以区分子树。
如果您想比较工作副本 - 只需指定修订版 1:
git diff rev1 path
修订代码可以是特殊名称,例如,HEAD^..HEAD
表示最后到当前,或者它们来自日志的 SHA-1 值。
要在 Emacs 中执行此操作(使用 magit),您可以:
d
以打开diff
菜单r
以选择要在差异中使用的提交范围。或者,您可以突出显示一系列提交,它们将被自动选中。如果您只想比较某些文件,您还可以使用该--
选项来选择哪些文件将包含在 diff 中。