假设我有一个从本地my-topic-branch
分支分支出来的master
分支,并且master
分支与远程master
分支绑定。
my-topic-branch
分支最初是由名为tag1
的标签创建的。 tag1
是一个放置在远程主分支上的标签,由于git fetch
,我看到了该标签。
有些时间过去,允许其他人将其更改推送到该远程主分支。再后来,其他人放下了新的tag2
。
然后我再次使用git fetch
以确保将所有这些远程标记都放入本地存储库中以进行进一步的操作。
我像这样将tag2
设置为基准:
$ git rebase tag2 First, rewinding head to replay your work on top of it... Applying: CENSORED_LOG_MESSAGE1 Applying: CENSORED_LOG_MESSAGE2 Auto packing the repository in background for optimum performance. See "git help gc" for manual housekeeping.
但是后来我运行
git status
并看到了这个:$ git status On branch my-topic-branch Your branch is ahead of 'tag1' by 195 commits. (use "git push" to publish your local commits)
我的期望是以上消息应该说明有关
tag2
的信息,当然不是我在195次提交之前领先于旧标记。为什么
git status
会报告my-topic-branch
分支的提交,而不是我最近基于的新提交?
[如果这是预期的行为,那么很好,我将不得不忽略它,但是奇怪的是,我仍然落后195次提交master
,但那肯定不是真的(如果git rebase
实际上做了我认为应该做的事情。
如果HEAD仍在该分支上,我仍然可以通过以下方式找到my-topic-branch
的基点:
$ git show -s $(git merge-base master @) commit CENSORED_SHA1 (tag: tag2) Author: CENSORED_AUTHOR Date: CENSORED_DATE CENSORED_LOG_MESSAGE3 $
但是这仍然是关于
git status
输出的问题。更新2:
根据Pesho_T's comment更新:
我运行了git branch -vv
,并得到了以下内容。这是经过审查的,但是要加上“ 2”和“ 4”之类的数字以区别于其他数字:
$ git branch -vv | grep my-topic-branch * my-topic-branch CENSORED_SHA1_2 [tag1: ahead 195] MDFCOR-420 CENSORED_LOG_MESSAGE4
假设我有一个我的主题分支分支,该分支从我的本地master分支分支出来,并且该master分支与远程master分支绑定在一起。 my-topic-branch分支最初是在...
似乎很可能1
您意外创建了一个分支名称