Git 工作流程 - 从发布分支恢复功能分支

标签 git github workflow git-merge continuous-deployment

我正在尝试理解创建 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?

最佳答案

这里基本上有两个选择:

  1. Development 中恢复 F1 merge ,然后将其 merge 到 Staging 中。
    F1 将从 DevelopmentStaging 中消失。

  2. Staging 重置为 merge F1 之前的提交,并手动 merge F2F3
    您最终会得到 Staging 而不是 Development 的子集。
    F1 只会从 Staging 中消失。

关于Git 工作流程 - 从发布分支恢复功能分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22013346/

相关文章:

windows - Windows 和 Git 的非法文件名问题

git - 如何在 git push 上解决 "refusing to allow an OAuth App to create or update workflow"

Git:在不 fork 的情况下获得别人的项目

r - 在 R 工作流程中编写函数与逐行解释

git - 如何通过ssh将git repo推送到远程服务器?

git - 在 git 中,为什么要在一个分支而不是主分支上工作?

git - 如何将我的代码推送到 Intellij 中 Github 上的新存储库?

.net - 运行WF 4.0工作流程的动态更新

javascript - Microsoft Dynamics CRM 在后台运行脚本(或类似的东西)

node.js - 在 Windows 机器上工作时使用 unix 行结尾有什么副作用吗?