1

我希望看到在 a 之后查看给定远程分支上更改的最佳方式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-diffwhich 将获取并打印每个分支的差异。

4

1 回答 1

2
git diff HEAD^^ origin/stable

应该做你正在寻找的东西。但是,该fetch操作应该为您提供一些输出,例如:

76e5999..0564fab  master     -> origin/master

显示哈希值的变化origin/master(在我的例子中)。你可以这样做:

git diff 76e5999 0564fab

并查看所有这些差异。

于 2013-03-12T19:51:45.667 回答