所以我做了一些有点不寻常的事情。我有几个分支,master
和dev
。 master
有最新的稳定版本,并且 dev
将具有前沿性,并将被 merge 到 master
发布时。
但是,这不太好,因为很多人在发出 pull 请求时都会将其发送到主分支。最近,我不得不关闭一个 pull 请求,并要求他们从 dev 分支 check out 一个新分支,并在那里进行更改,因为 dev 分支远远领先于 master 分支, merge 会非常棘手。
所以,我决定制作 dev
master
,并制作 master
stable
.
我做的第一件事是 dev
checkout :
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
)。
如何使 Remote 与本地存储库中的内容完全同步?
最佳答案
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)对于你的第三个问题,在提交、 pull 和推送之后就可以了。
关于git - 我改变了我的分支系统。怎么在github上整理呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11538417/