我有两个分支。一个是develop
用于开发;另一个分支是passed
,它将从develop
进行测试通过。
我们将打开一个分支来开发一个新功能,并在完成后将其合并回分支develop
,我们将测试CI服务器在develop
中的所有新合并提交。
当测试通过时,我们希望将该提交合并到passed
的分支develop
中,并覆盖旧分支passed
的存储库中的所有文件。这意味着,我们希望覆盖,而不是merge
,并且分支passed
的提交中的所有文件应该与分支{{的相应提交完全相同1}}。
分支develop
跟踪测试通过的提交,我们将发布最新的beta测试提交。
问题是,如何覆盖分支但不能合并到分支passed
的分支中?
答案 0 :(得分:1)
听起来你想要的是,一旦测试通过,passed
分支指向与develop
完全相同的提交。
您可以使用git branch --force
:
git branch --force passed develop
这里来自the git branch
documentation:
<强> -f 强>
的 - 力强>
重置&lt; branchname&gt;到&lt; startpoint&gt;如果&lt; branchname&gt;已存在。没有-f git branch拒绝更改现有分支。
答案 1 :(得分:0)
如果这真的是你想要的。您可以删除passed
并从develop
再次创建,这会使develop
与passed
相同。但你确定要这么做吗?如果是,为什么不在develop
中为该提交添加标签?