主分支在2个提交之前超过了已删除的分支

时间:2018-01-10 19:45:01

标签: git github version-control

这是一种复杂的情况

我是github及其工作流程概念的新手。昨天,我在本地启动了一个项目并将其推送到我的遥控器。默认分支名称为railsAPI。然后我试图将分支的名称改为master,但是,我搞砸了这一部分。我的本地计算机中的分支名称已更改,但分支的名称在GitHub上保持不变。所以我决定创建一个名为master的新分支,将其设置为默认分支并删除railsAPI分支。

在GitHub上,一切看起来都很好。但是,在我的本地计算机上,当我输入git status时,会显示以下消息:

On branch master
Your branch is ahead of 'origin/railsAPI' by 2 commits.
  (use "git push" to publish your local commits)
nothing to commit, working directory clean

我仍然可以添加,提交和推送就好了。但事实上我的本地机器上存在一个ghost分支,每次我进行更改时,主分支将在该分支之前再提交一次。

我尝试了什么:我尝试使用git pull与我的Github同步,但是,我收到了以下消息:

Your configuration specifies to merge with the ref 'refs/heads/railsAPI'
from the remote, but no such ref was fetched.

我试图搜索SO,但我相信我的情况与其他类似的问题不同,因为该分支已被删除,所以我不认为这是一个重复的问题

我需要帮助:如何清理我的本地仓库以及导致这种奇怪行为的原因?

1 个答案:

答案 0 :(得分:3)

您可能已删除GitHub上的远程分支railsAPI,但您的本地仓库中仍有一个名为origin/railsApi的远程跟踪分支,您的本地master分支仍然设置跟踪它。

您需要change the branch that your local master branch is tracking成为GitHub上的master分支:

git branch --set-upstream-to=origin/master master

您可能还想删除回购中留下的远程跟踪分支:

git branch -d -r origin/RailsApi