嗨搜索如何使用功能切换长时间功能和短分支生活策略。 建议使用短生活分支(PR和每天合并主人),但是如果你的功能很长,如何制作这个。如何在git历史记录中拆分多个分支中的功能。
我建议在分支名称中使用版本控制,如下所示:
但在互联网上我找不到这样的样本,我也不明白为什么这样做是好的做法。
答案 0 :(得分:0)
功能分支通常用于开发新功能或修复错误。因此对于不同的功能/错误,您应该使用不同的功能分支,并将功能分支合并到主分支中,直到完成。
当你展示feature-A-V1
和feature-A-V2
的过程时,如果为不同的功能开发了两个功能分支,你应该按照你所展示的那样(它们作为短生命分支)。但是为同一个功能(功能A)开发的两个分支,你应该合并直到功能A完成。在某种程度上,我们称之为长期生活特征分支。
使用长寿分支,通常按照以下步骤操作:
1.Assume feature-A
分支已从production
签出,您正在使用feature-A
分支。
A---B---C production
\
D feature-A
2.在feature-A
分支上开发时,其他开发人员更新production
分支,结构如下:
A---B---C---G---H production
\
D---E---F feature-A
3.完成feature-A
分支的开发后,在推送和创建PR之前,您可以重新定义feature-A
分支,以确保它基于production
分支的最新版本。您可以使用命令:
git checkout feature-A
git pull origin production --rebase
结构看起来像:
A---B---C---G---H production
\
D'---E'---F' feature-A
现在您可以将feature-A
推送到远程并创建PR以将其合并到production
分支。
有a successful branching module,你可以参考。
<强>更新强>
由于您需要合并和部署feature-A-v1
,并修复其他错误,但又不想为此情况创建新的功能分支。您可以结帐到feature-A-v1
分行,然后通过合并production
将其快进到feature-A-v1
(feature-A-v1
也会指向下图中的提交O
)。
A---B---C---M---O production
\ /
D---N feature-A-v1
A---B---C---M---O production, feature-A-v1
\ /
D---N