这是一种复杂的情况
我是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,但我相信我的情况与其他类似的问题不同,因为该分支已被删除,所以我不认为这是一个重复的问题
我需要帮助:如何清理我的本地仓库以及导致这种奇怪行为的原因?
答案 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