所以我做了一些不寻常的事情。我有几个分支,master
和dev
。 master
拥有最新的稳定版本,而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
。)
如何让我的本地仓库中的遥控器完全更新遥控器?
答案 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)对于你的第三个问题,在提交,拉动和推送之后,这将是正常的。