所以我做了一些不寻常的事情。我有几个分支,master
并且dev
. master
具有最新的稳定版本,并且dev
具有最前沿的技术,并将master
在发布时合并。
然而,这并不是很好,因为很多人在提出拉取请求时,会到达主分支。最近,我不得不关闭一个拉取请求,并要求他们从 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 上,如果我选择 branch master
,它下面会显示对分支的最新提交dev
。几次提交会改变这种情况吗?另一个分支也是如此(它表示最新提交master
for stable
)。
如何使远程完全更新到本地仓库中的内容?