您的分支比N提交先于'origin / foobranch'-什么是提交?

时间:2019-04-24 21:04:23

标签: git

当git status报告“您的分支比'origin / foobranch'提前N次提交”。我想确切地知道哪个提交。如给我一个清单。它们不在日志顶部,我不想手动比较日志。有一个git命令只是向我展示N个提交吗?

1 个答案:

答案 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推送什么提交的别名吗?