我正在尝试理解创建git工作流的问题。
我们考虑使用功能分支同时开发多个功能,假设我们有:
我们刚刚完成了功能1和功能3,并将它们合并到我们的开发分支中进行集成测试:
开发分支是最前沿的,会作为夜间构建的一部分发布。当我们对其满意时,该分支将合并到一个暂存分支中,然后用于客户审查。
客户在测试环境上审查了此版本,但对F1不满意。与此同时,F3已经代码完成,客户希望审核。
问:我们如何使用git才能使我们的暂存分支只有F2和F3供审核,而不是客户现在拒绝的F1?
答:通过创建一个新的分支并将F1回退到以前的提交状态或者通过rebase来移除F1,然后将该分支推送到暂存分支上,即可使暂存分支只包含F2和F3。
我们考虑使用功能分支同时开发多个功能,假设我们有:
- F1 (Feature 1)
- F2 (Feature 2)
- F3 (Feature 3)
我们刚刚完成了功能1和功能3,并将它们合并到我们的开发分支中进行集成测试:
-F1---Commit1---Commit2----------------------------------
-F2--------Commit1---------------------------------------
-F3--------------------------Commit1---------------------
-Development-------Merge-F1------------Merge-F2----------
开发分支是最前沿的,会作为夜间构建的一部分发布。当我们对其满意时,该分支将合并到一个暂存分支中,然后用于客户审查。
-F1---Commit1---Commit2---------------------------------------------
-F2--------Commit1--------------------------------------------------
-F3-------------------------Commit1-----Commit2---------------------
-Development-------Merge-F1------------Merge-F2---------------------
-Staging-------------------------------------------Merge-Development
客户在测试环境上审查了此版本,但对F1不满意。与此同时,F3已经代码完成,客户希望审核。
问:我们如何使用git才能使我们的暂存分支只有F2和F3供审核,而不是客户现在拒绝的F1?
答:通过创建一个新的分支并将F1回退到以前的提交状态或者通过rebase来移除F1,然后将该分支推送到暂存分支上,即可使暂存分支只包含F2和F3。