将分支推送到GitHub上的远程分支,并将基本分支设置为远程分支名称

时间:2013-11-29 17:11:35

标签: git github git-push remote-branch

我在远程(master,development,featurebranch)上有三个分支。我想要的是,当我推动 branch1 时,它应该尝试将其推送到开发分支,或者我喜欢的任何类型的分支。我已经看到了我应该做的事情的例子

git push origin local_name:remote_name

但是当我尝试它时,Git会自动将本地分支合并到远程分支。我希望它在该分支上有一个pull请求。在GitHub上有这个漂亮的功能,我可以切换并选择我希望它合并的分支:

branch selection on github

但有没有办法当我将我的分支推送到远程分支时,基本分支被设置为我指定的远程分支?

1 个答案:

答案 0 :(得分:1)

  

但有没有办法当我将我的分支推送到远程分支时,基本分支被设置为我指定的远程分支?

这意味着避免:

x--x--x (branch1)                         x--x--x
                          ==> push ==>           \
          y--y--y (origin/remote-name)   y--y--y--M

而是得到:

                                     y--y--y--x--x--x

只有在推送之前,branch1已在origin/remote_name 之上重新定位时才有可能:

git fetch origin
git checkout branch1
git rebase origin/remote_name
git push branch1:remote_name

  

我们的场景就像Master分支是,比如实时app,每当我们发现缺陷时,我们创建一个修复分支(应该从开发分支分支),创建我们的修复并将fix-branch推送到开发分支首先在测试和QA发生的地方。完成后,将其推回主人。

在您的情况下,您需要重新绑定并推送到另一个分支,一个 dev,因为dev表示不同的开发工作,一个连续的修改,而不是准备修复。

创建一个发布分支,它代表您在master(prod)之上逐个集成的热修复。

每次看到错误:

  • bug
  • 创建分支
  • 修复错误
  • release_branch
  • 之上修改bug分支
  • 推送bug分支以进行质量检查以进行审核
  • 审核后,将其推送至master