发现当前和最新版本之间的差异?
使用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
。
概要
-
git diff
显示未分离的更改。 -
git diff --cached
显示暂存的更改。 -
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