我希望看到在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 ^^来向我展示我所知道的起源/稳定(在这种情况下,HEAD ^^)和获取后的起源/稳定之间发生了什么变化。
基本上,我希望看到自上次提取以来所有新代码都提交给分支,忽略了我在本地分支上的任何暂存(或未分阶段)更改。
感谢您的帮助。
根据@ 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
来获取和打印每个分支的差异。
答案 0 :(得分:2)
git diff HEAD^^ origin/stable
应该完全按照您的意愿行事。但是,fetch
操作应该为您提供一些输出,如:
76e5999..0564fab master -> origin/master
显示origin/master
(在我的示例中)更改了哪些哈希值。你可以这么做:
git diff 76e5999 0564fab
并查看所有这些差异。