怎样在git中对比当前工作区和远程仓库的区别

虽然是很久前回答的了,但最近还收到了赞,所以决定更新下。
当前工作区的版本,应该是HEAD指向的commit吧。远程仓库的版本,可能会有歧义。通常在本地仓库会有一个origin/xxx这样的分支,这个分支记录了上一次和远程仓库交换数据时fetch/pull/push的时候,远程仓库里xxx分支指向的那个commit。那上一次可能是刚才,也可能已经隔了很久了,如果就是要对比和那一次的版本,那直接用origin/xxx就可以了。如果要比较当下最新的版本,那需要先执行一次git fetch origin xxx,那当下最新版本的commit会存在FETCH_HEAD中。而origin/xxx会不会更新要看情况,因为有些情况下origin/xxx是不存在的,这里不具体展开解释为什么了。总之FETCH_HEAD是可靠的。
接下来对比2个版本的差异,可以用命令
git diff HEAD FETCH_HEAD看了下题主的需求,可以加上--stat参数。
----以下为原答案---
先更新下本地的远程分支
git fetch origin
然后可以比对
【怎样在git中对比当前工作区和远程仓库的区别】 git diff 本地分支 origin/xxxx

■网友
git diff \u0026lt;local branch\u0026gt; \u0026lt;remote\u0026gt;/\u0026lt;remote branch\u0026gt;
■网友
1.本地与远程的差集 :(显示远程有而本地没有的commit信息)git log local_branch..origin/remote_branch2.统计文件的改动git diff --stat local_branch origin/remote_branch


    推荐阅读