使用Git,您如何发现当前版本和上一版本之间的差异?

git diff last version:HEAD

当前回答

快速而简单,假设你是主人:

    git diff (checkout_id):file.txt file.txt

例子:

    git diff asdfioei91819280din198:file.txt file.txt

其他回答

正如amalloy在评论中指出的,如果“当前版本和最后版本”是指最后一次提交和之前的提交,那么可以简单地使用

git show

首先,使用“gitlog”列出存储库的日志。

现在,选择与两个提交相关的两个提交ID。您希望看到不同之处(例如,最顶级的提交和一些较旧的提交(根据您对当前版本和一些旧版本的期望))。

接下来,使用:

git diff <commit_id1> <commit_id2>

or

git difftool <commit_id1> <commit_id2>

如果HEAD指向顶部提交,则可以执行以下操作:

commit1 -> HEAD
commit2 -> HEAD~1
commit3 -> HEAD~2

第一次和第二次提交之间的差异:

git diff HEAD~1 HEAD

第一次和第三次提交之间的差异:

git diff HEAD~2 HEAD

第二次和第三次提交之间的差异:

git diff HEAD~2 HEAD~1

等等

最后一次提交与上次提交之间的差异(加上当前状态,如果有):

git diff HEAD~

甚至(更容易打字)

git diff @~

其中@是当前分支HEAD的同义词,~表示“给我提到的修订的父级”。

如果已添加但尚未提交,请使用缓存标志:

git diff --cached --color