当git status报告“您的分支比'origin / foobranch'提前N次提交”。我想确切地知道哪个提交。如给我一个清单。它们不在日志顶部,我不想手动比较日志。有一个git命令只是向我展示N个提交吗?
答案 0 :(得分:4)
要找到它们,您需要使用Git's revision specifications。在这种情况下,您希望提交可从我的分支头到达,但不能从origin/foobranch
到达:
git log origin/foobranch..foobranch
或:
git log foobranch ^origin/foobranch
(两种语法的含义相同,A..B
的意思是B ^A
)。
(我也很喜欢使用--graph --decorate --oneline
来做到这一点。)
您可以自动计算任何分支的上游:
branch@{upstream}
会这样做。 current 分支的上游可用:
@{upstream}
这些可以缩写为@{u}
(带有或不带有分支名称)。从Git 2.13开始,您也可以使用@{U}
,即只需在输入时按住shift键即可。
当前分支可以缩写为HEAD
或(自Git 1.8.5起)仅@
;在有意义的地方,可以完全省略。所以:
[alias]
outgoing = log --oneline @{u}..
我用于 git push
推送什么提交的别名吗?