0

我刚刚从来源和git status报告中获取:

您的分支落后 origin/ 13 次提交,并且可以快进

严格来说,这究竟是什么意思?是否意味着:

  1. HEAD位于相应的远程跟踪分支( origin/<branch_name>) 后面。

  2. 还是<branch_name>在相应的远程跟踪分支( origin/<branch_name>) 后面?

如果我在一个分离 HEAD的地方怎么办?(即如果我的HEAD<branch_name>不指向同一个提交)。

有没有办法在图表上可视化这些指针(HEAD<branch_name>origin/<branch_name>git log --graph

4

2 回答 2

3

让我们看一个例子。这个存储库有一个远程调用origin,其分支名为master. 我还有一个名为的分支master,我目前已经签出。

% git log --decorate --graph --pretty=oneline --abbrev-commit --all
* 072a57a (origin/master, origin/HEAD) C
* 87011c4 B
* d3c4a48 (HEAD, master) A

当我运行git status它时,它告诉我我的分支master落后origin/master于两个提交。

% git status
# On branch master
# Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
#
nothing to commit (working directory clean)
于 2012-10-08T15:41:03.900 回答
1

“你的分支”是指你所在的分支,所以HEAD1<branch_name>和 2 表示相同的意思。(git status仅报告您所在分支的状态,而不是所有本地分支。)

该消息意味着您的分支指向作为远程分支头的直接祖先的提交,因此它指向远程分支头的父提交网络上某处的提交。没有比这更复杂的了。

如果你在一个分离的头上收到消息,那么你应该记录一个错误 - 它不应该发生。

请注意,您的分支名称不必与遥控器上的分支名称相匹配 - 该消息将告诉您在跟踪的<alt-branch-name>情况下是落后origin/<branch-name>的。<alt-branch-name>origin/<branch-name>

于 2012-10-08T15:25:36.747 回答