但是有没有办法在我将分支推送到远程分支时,将基本分支设置为我指定的远程分支?
这意味着避免:
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 分支一样,比方说实时应用程序,每次发现缺陷时,我们都会创建一个修复分支(应该从开发分支分支),创建我们的修复并首先将修复分支推送到开发分支测试和质量保证发生的地方。完成后,将其推回主控。
在您的情况下,您需要变基并推送到不同的分支,而不是 dev
,因为dev
代表不同的开发工作,持续修改之一,而不是 puctual 修复。
创建一个发布分支master
,它代表您在(prod)之上一一集成的热修复程序。
每次看到错误时:
- 为此创建一个分支
bug
,
- 修复错误
- 将 bug 分支重新设置在
release_branch
- 推送
bug
分支供 QA 审核
- 一经审核,推送至
master