2

所以我做了一些不寻常的事情。我有几个分支,master并且dev. master具有最新的稳定版本,并且dev具有最前沿的技术,并将master在发布时合并。

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

所以,我决定制作dev master,制作master stable

我做的第一件事,dev检查了:

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 上,如果我选择 branch master,它下面会显示对分支的最新提交dev。几次提交会改变这种情况吗?另一个分支也是如此(它表示最新提交masterfor stable)。

如何使远程完全更新到本地仓库中的内容?

4

1 回答 1

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)对于您的第三个问题,在提交、拉取和推送之后就可以了。

于 2012-07-18T10:13:35.150 回答