我刚从原点和git status
报告中获取:
你的分支落后于原点/ 13次提交,可以 快进
严格来说,完全意味着什么?这是不是意味着:
HEAD
位于相应的远程跟踪分支(origin/<branch_name>
)后面。
或<branch_name>
是否位于相应的远程跟踪分支(origin/<branch_name>
)后面?
如果我使用分离 HEAD
该怎么办? (即,如果我的HEAD
和<branch_name>
没有指向相同的提交。)
有没有办法在图表上显示这些指针(HEAD
,<branch_name>
和origin/<branch_name>
?我尝试过使用git log --graph
,但我想我只看到了不同的提交,他们合并加班。
答案 0 :(得分: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)
答案 1 :(得分:1)
“您的分支”表示您所在的分支HEAD
指向<branch_name>
,而1和2表示相同的意思。 (git status
仅报告您所在分支机构的状态,而不是所有本地分支机构。)
该消息意味着您的分支指向一个提交,该提交是远程分支头的直接祖先,因此它指向远程分支头部的父提交网络上的某个提交。这没什么比这复杂的了。
如果您在分离头时收到了消息,那么您应该记录一个错误 - 它不应该发生。
请注意,您的分支名称不必与遥控器上的分支名称相匹配 - 如果<alt-branch-name>
正在跟踪origin/<branch-name>
,则该消息会告诉您<alt-branch-name>
落后origin/<branch-name>
1}}。