我正在尝试理解创建 git-workflow 的问题
我们正在考虑使用功能分支同时开发多个功能,所以假设我们有:
- F1 (Feature 1)
- F2 (Feature 2)
- F3 (Feature 3)
我们刚刚完成了功能 1 和 3,并将它们 merge 到我们的开发分支中进行集成测试:
-F1---Commit1---Commit2----------------------------------
-F2--------Commit1---------------------------------------
-F3--------------------------Commit1---------------------
-Development-------Merge-F1------------Merge-F2----------
开发分支处于最前沿,并作为每晚构建的一部分发布。当我们对此感到满意时,该分支将 merge 到一个暂存分支中,然后用于客户审查:
-F1---Commit1---Commit2---------------------------------------------
-F2--------Commit1--------------------------------------------------
-F3-------------------------Commit1-----Commit2---------------------
-Development-------Merge-F1------------Merge-F2---------------------
-Staging-------------------------------------------Merge-Development
客户在测试环境中查看此版本,但对 F1 不满意。在此期间,F3 代码完成,客户希望审查。
问 - 使用 git 如何让我们的暂存分支只有 F2 和 F3 供审核,但没有客户现在拒绝的 F1?
最佳答案
这里基本上有两个选择:
在
Development
中恢复F1
merge ,然后将其 merge 到Staging
中。
F1
将从Development
和Staging
中消失。将
Staging
重置为 mergeF1
之前的提交,并手动 mergeF2
和F3
。
您最终会得到Staging
而不是Development
的子集。
F1
只会从Staging
中消失。
关于Git 工作流程 - 从发布分支恢复功能分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22013346/