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

git diff last version:HEAD

当前回答

假设“当前版本”是工作目录(未提交修改),“最后版本”是HEAD(当前分支的最后提交修改)

git diff HEAD

以下内容归功于用户Cerran。

如果在提交时总是使用-a跳过临时区域,那么可以简单地使用gitdiff。

总结

gitdiff显示未分页的更改。gitdiff——缓存显示分段更改。git diff HEAD显示所有更改(暂存和未暂存)。

来源:git diff(1)手册页–Cerran

其他回答

如果希望对最后n次提交进行更改,可以使用以下选项:

git diff HEAD~n

因此,对于当前提交的最后5次提交(包括当前提交在内的计数),将是:

git diff HEAD~5

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

git diff --cached --color

你也可以这样做:

与上一次提交进行比较

git diff --name-status HEAD~1..HEAD

与当前和前两次提交进行比较

git diff --name-status HEAD~2..HEAD

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

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

接下来,使用:

git diff <commit_id1> <commit_id2>

or

git difftool <commit_id1> <commit_id2>

我在安装了EclipseEGit插件的EclipseIDE中使用Bitbucket。

我将文件与任何版本的历史记录(如SVN)进行比较。

菜单项目资源管理器→ 文件→ 右键单击→ 团队→ 在历史中显示。

这将带来该文件上所有更改的历史记录。现在按住Ctrl键单击并选择任意两个版本→ “相互比较”。