我改变了我的分支系统。我怎样才能在github上解决它?

时间:2012-07-18 09:36:17

标签: git github branch remote-branch

所以我做了一些不寻常的事情。我有几个分支,masterdevmaster拥有最新的稳定版本,而dev将具有最新优势,并且会在发布时合并到master

然而,这并不是那么好,因为很多人在提出拉动请求时,会将其转移到主分支。最近,我不得不关闭一个pull请求,并要求他们从dev分支检出一个新分支,并在那里进行更改,因为dev分支远远超过master分支,并且合并将非常棘手。

所以,我决定制作dev master,然后制作master stable

我做的第一件事就是dev签出:

git branch -m master stable

然后切换到新分支:

git checkout stable

然后将dev移至master

git branch -m dev master

所以,在本地我现在有两个分支,master(以前为dev)和stable(之前是master)。

然后我分别检查了每个分支,并为每个分支运行git push origin <branchname>

问题

我注意到的第一个问题是,即使在推送之后,在新的stable分支(是主人)上,我在git status上得到了这个:

# On branch stable
# Your branch is behind 'origin/master' by 6 commits, and can be fast-forwarded.
#
nothing to commit (working directory clean)

git仍然认为远程此分支与master相关联,并且因为我将dev设置为master,它认为stable落后了。我怎样才能让git将这个分支与正确的远程分支相关联?

我注意到的第二个问题,在GitHub上,分支dev仍然存在。如何删除远程版本?

第三个问题,在GitHub上,如果我选择分支master,则在它下面说明dev分支的最新提交。这会改变一些提交吗?另一个分支也是如此(它表示对master的最新提交stable。)

如何让我的本地仓库中的遥控器完全更新遥控器?

1 个答案:

答案 0 :(得分:4)

1)对于第一个问题,您需要设置分支stable以跟踪远程分支origin/stable

 git branch --set-upstream stable origin/stable
 git branch --set-upstream master origin/master

2)对于你的第二个问题, 使用此git命令删除远程分支

git push origin :dev

3)对于你的第三个问题,在提交,拉动和推送之后,这将是正常的。