关于git:我改变了我的分支系统。

I've changed my branching system. How can I sort it out on github?

所以我做了一些不寻常的事。我有几家分行,分别是masterdevmaster有最新的稳定版本,dev有出血边缘,在发布时合并成master

然而,这并不是很好,因为很多人在提出拉请求时,都会把请求发送到主分支。最近,我不得不关闭一个拉请求,要求他们从dev分支中签出一个新的分支,并在那里进行更改,因为dev分支远远领先于master分支,合并将非常棘手。

所以,我决定做devmaster,做masterstable

我做的第一件事是,与dev核对:

1
git branch -m master stable

然后切换到新分支:

1
git checkout stable

然后将dev移到master处:

1
git branch -m dev master

因此,我现在在当地有两个分支机构:master(以前是dev)和stable(以前是master)。

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

问题

我注意到的第一个问题是,即使在新的stable分支(was master)的推动下,我还是得到了git status的支持:

1
2
3
4
# 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)对于第一个问题,您需要设置分支stable来跟踪远程分支origin/stable

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

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

1
git push origin :dev

3)对于您的第三个问题,在提交、拉和推之后就可以了。