我有3个分支 1.master 2. feature-auth 3. feature-operations 。 branch 2 and 3
由 master 制作。
我从事过feature-auth并提出了合并请求。而且它仍在等待中。
现在,我要使用从母版创建的功能操作。现在出现问题,因为功能验证仍未合并,我希望在feature-operation
中使用它。那么解决该锁定的最佳方法是什么?我应该从feature-auth创建feature-operation
这个分支吗?而我在某个地方读到,理想情况下,所有分支都应由主从制成。
答案 0 :(得分:0)
假设您是在该功能分支上唯一的工作人员,则可以考虑在feature-operation
的基础上重新部署feature-auth
。
这样,您将从feature-auth
的所有提交/功能中受益,并且可以继续使用feature-operation
。
git checkout feature-operation
git rebase feature-auth
git push --force
当我读到某个地方时,理想情况下,所有分支都应由master制作。
这不是强制性的。
就您而言,您来自:
收件人:
m--m--m--m--m (master)
\ / (pending MR)
fa--fa--fa
\
fo'--fo'--fo' (feature-operation rebased)
OP添加:
例如,我已经完成了
feature-operation
的工作,但仍然不接受feature-auth
。
然后,在完成工作之后以及在合并feature-operation
之前,我是否必须重新设置为master
?
如果feature-operation
基于feature-auth
的工作,您将必须等待feature-auth
被合并,然后(实际上)在更新的{ {1}}。
并且:
因此,我不应该对
feature-operation
进行任何更改,直到master
没有更新?还是在合并请求之前?
使用feature-operation
时,您可以根据需要在远程仓库中多次推送该作品。
将master
合并到feature-operation
之后,您就将feature-auth
重新置于master
之上(在feature-operation
分支上的master
之后),然后git pull
您的master
重新分支分支,然后继续工作(或者,如果完成,请做MR)
答案 1 :(得分:0)
在我看来,要素分支应该从将被合并到的同一分支中出现。如果feature b
依赖于feature a
,那么它们可能不应该是不同的分支和不同的PR。
将feature b
重置到feature a
上可能意味着您在feature b
上的PR包含了feature a
的全部,这是错误的,对批准程序不公平。更不用说用力推动了,这是一个不好的信号。
在我看来,如果feature b
需要feature a
拥有的东西,那么您应该选择樱桃。
答案 2 :(得分:0)
我远非一个纯粹主义者,我不喜欢变本加厉。我更喜欢简单的事情,但是我没有一个代码审查委员会,只是让队友喘不过气来。
我会采用@VonC的分支图,将主分支发送到fa,并且当fa完成使您满意时,将fa分支到fo。无需重新定级。
如果前面的任何分支中有更改要实现您要使用的功能,或者对测试很重要,请随时将fa或master合并到fo中。如果没有其他要求,那将简化最终合并。
将fo最终合并到master中将比其他情况更接近master,从而使所有相关人员更容易进行最终审核。