Git 工作攻略——功能多,发布非常频繁

标签 git kanban

这是我日常工作的描述:

两名开发人员从事许多小功能或修复工作,假设每位开发人员每天 3-4 次。 我需要能够同时处理功能 A - B - C,而我的同事处理功能 D 和 E。

星期一: 功能 A 被推送到登台服务器以供客户审查。 功能 B 被推送到同一登台服务器以供客户审核。 功能 D 被推送到同一登台服务器以供客户审核。

星期二: 我们收到客户对 A 和 D 的批准(但不是 B)。他们需要立即接受这些更改。

星期三: 功能 C 被推送到同一登台服务器以供客户审核。 最终获得了 B 的批准。

星期四: 功能 B 必须立即投入生产。

星期五: 在上一个生产版本中发现错误,我们需要回滚到以前的版本。

这不能被视为类似 Scrum 的过程,因为没有机会将功能分组到故事或冲刺计划中。这更像是一个维护过程(也许是看板?)。

您能举例说明如何使用 Git 处理这个问题吗?假设现在,我们只有一个主分支,每当我们想将任何东西推送到暂存或生产环境时,我们必须“git pull”使所有更改生效(即使是不需要的)。 git“cherry-pick”如何检索特定的提交?每个特征一个分支似乎太繁重了,因为我们有太多的特征。如果你能给出 Git 命令和分支的具体例子(只是为了展示主要思想,不需要 100% 正确)那就太好了。

谢谢。

最佳答案

根据您的描述,我会采用发布分支和许多工作分支的策略。

意思:当你和你的同事都在你自己的功能分支上工作时(A、B、C,也许还有 master),你应该设置你的登台服务器只从 staging 分支 pull )

每当更改必须上线时,您只需将该功能 merge 到 staging 分支并将其推送到服务器 - staging 环境然后 pull 该分支并部署。

一旦您获得客户的批准,您就可以将功能分支(已经 merge 到 staging 中)推送到另一个分支(可能是 stable),然后部署用于生产。

在生产环境中,您可以删除功能分支并重新开始。

TLDR: 将您的每个环境都视为一个分支,只有在必须将某个功能放到那里时才会被推送到那里。这样你甚至可以从不应该去那里的分支/环境中恢复更改。

我会选择看板方法 - 更简单,而且看起来更适合您的工作。

关于Git 工作攻略——功能多,发布非常频繁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8537723/

相关文章:

jira - 如何在 Jira 看板项目上启用积压

git - 通过 shell 变量将配置选项传递给 git clone

git - 为什么当我在 Tig 中查看某些 git 提交时,它们有 "refs"?

GIT - 如何在所有分支中保持文件通用

ruby-on-rails - 如何在 IDE Aptana Studio 中设置可见的 .gitignore?

git - 如何在 Git 中找到分支的哈希值?

workflow - 如何从 Jira 的看板中隐藏没有问题的列?

Rally SDK 2.0 有没有办法获取看板状态更改日期

jira - 如何在Jira中设置团队容量

unit-testing - 将 UT 结果 (TRX) 发布到 azure devops