发现当前和最新版本之间的差异?

使用git,你怎么能find当前版本和最新版本之间的区别?

git diff last version:HEAD 

我真的不明白“最后的版本”的含义。

由于前面的提交可以通过HEAD ^访问,所以我认为你正在寻找类似于:

 git diff HEAD^ HEAD 

从Git 1.8.5开始, @HEAD的别名,所以你可以使用:

 git diff @~..@ 

以下内容也将起作用:

 git show 

如果你想知道头和任何提交之间的差异,你可以使用:

 git diff commit_id HEAD 

这将启动你的视觉差异工具(如果configuration):

 git difftool HEAD^ HEAD 

警告

  • @ScottF和@Panzercrisis在评论中解释说,在Windows上必须使用~字符而不是^

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

 git diff HEAD 

跟随信用转到用户Cerran

如果你总是跳过暂存区域,那么你可以简单地使用git diff

概要

  1. git diff显示未分离的更改。
  2. git diff --cached显示暂存的更改。
  3. git diff HEAD显示所有更改(包括暂存和非暂存)。

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

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

 git show 

最后一个提交和最后一个提交之间的区别(加上当前状态,如果有的话):

 git diff HEAD~ 

甚至(更容易打字)

 git diff @~ 

你也可以这样做:

与以前的提交比较

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

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

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

只要使用caching标志,如果你添加,但尚未提交!

git diff --cached --color

首先,使用“ git log ”列出回购日志。

现在,select两个commit-id,相当于两个提交,你想看到不同之处( 例子 – 最上面的提交和一些较旧的提交[根据你期望的当前版本和一些旧版本] )。

接下来,使用:

 git diff <commit_id1> <commit_id2> 

要么

 git difftool <commit_id1> <commit_id2> 

假设你是主人,那么简单快捷:

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

例:

  git diff asdfioei91819280din198:file.txt file.txt