使用Git,您如何发现当前版本和上一版本之间的差异?
git diff last version:HEAD
使用Git,您如何发现当前版本和上一版本之间的差异?
git diff last version:HEAD
当前回答
假设“当前版本”是工作目录(未提交修改),“最后版本”是HEAD(当前分支的最后提交修改)
git diff HEAD
以下内容归功于用户Cerran。
如果在提交时总是使用-a跳过临时区域,那么可以简单地使用gitdiff。
总结
gitdiff显示未分页的更改。gitdiff——缓存显示分段更改。git diff HEAD显示所有更改(暂存和未暂存)。
来源:git diff(1)手册页–Cerran
其他回答
正如amalloy在评论中指出的,如果“当前版本和最后版本”是指最后一次提交和之前的提交,那么可以简单地使用
git show
如果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 --cached --color
这也适用于标记(如果需要查看所有更改,请删除下面的“uniq”和其他部分):
git diff v1.58 HEAD
下面是相同的,这对于单片存储库中的微服务的持续集成(CI)很有用:
git diff v1.58 HEAD --name-only | sort -u | awk 'BEGIN {FS="/"} {print $1}' | uniq
<Folder Name>
(信贷-https://dzone.com/articles/build-test-and-deploy-apps-independently-from-a-mo)
你也可以这样做:
与上一次提交进行比较
git diff --name-status HEAD~1..HEAD
与当前和前两次提交进行比较
git diff --name-status HEAD~2..HEAD