git - 我改变了我的分支系统。怎么在github上整理呢?

标签 git github branch remote-branch

所以我做了一些有点不寻常的事情。我有几个分支,masterdevmaster有最新的稳定版本,并且 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

然后移动devmaster :

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/

相关文章:

svn - 我可以在不执行合并的情况下从主干更新分支吗?

Git merge 测试分支(最终提交)到 master 分支

git - 每次提交时我都必须 'git add' 一个文件吗?

git - 如何在 git stash/git stash pop 之后恢复索引?

eclipse - 无法在 Eclipse Helios 中安装 EGit 插件

Github分支,标签: How to get a specific release of a code?

git - 当我执行 git Branch -a 时,分支下的分支会是什么样子?

git - "go get"私有(private)存储库的正确方法是什么?

git - 如何有效地获取特定提交的 GitHub 存储库?

ios - Xcode、GitHub 和第三方框架