远程和本地之间的git差异(忽略非推送提交)

远程和本地之间的git差异(忽略非推送提交),git,Git,我希望看到在git fetch之后查看给定远程分支上的更改的最佳方式,但我希望忽略已提交的更改(但不是推送/合并)。一般来说,我的流程是 git commit git commit # something else git fetch git diff HEAD^^..origin/stable # HEAD^^ is the commit right before my two commits above 想看看是否有办法处理该HEAD^^^,以显示我所知道的origin/stabl

我希望看到在git fetch之后查看给定远程分支上的更改的最佳方式,但我希望忽略已提交的更改(但不是推送/合并)。一般来说,我的流程是

 git commit
 git commit # something else
 git fetch
 git diff HEAD^^..origin/stable # HEAD^^ is the commit right before my two commits above
想看看是否有办法处理该HEAD^^^,以显示我所知道的origin/stable(在本例中为HEAD^^)和提取后的origin/stable之间的变化

基本上,我希望看到自上次获取以来提交到分支的所有新代码,忽略本地分支上的任何阶段性(或未阶段性)更改

谢谢你的帮助

解决方案 根据下面@carl norum的回答,我在.git/config中添加了以下内容

 [alias]
    fetch-diff = !git fetch 2>&1 | awk '/[a-z0-9]+[.][.][a-z0-9]+/ { print $1 }' | xargs -L 1 git diff
现在使用
git fetch diff
,它将获取并打印每个分支的diff

git diff HEAD^^ origin/stable
应该做你想做的事。但是,
fetch
操作应该为您提供如下输出:

76e5999..0564fab  master     -> origin/master
显示
origin/master
上更改的哈希值(在我的示例中)。你可以这样做:

git diff 76e5999 0564fab

并查看所有这些差异。

感谢您的帮助。两个问题:是否有一种通过别名实现这一点的好方法?如
git fetch diff
等?或者,更好的是,有没有一种方法可以在事后提取来自fetch的信息?我添加了我的解决方案,这正是基于您的答案我想要的。你能看一下吗?如果你同意的话,把它添加到你的评论中,这样我就可以接受了。谢谢