问题标签 [tbd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 基于主干的开发有多少个管道?
对于基于Gitflow的工作流,建议使用三个管道(Dev、QA 和 prod)。
我的理解是,如果一个团队中有 2-3 名开发人员,并且具有在预定义的时间(24 小时)内提交更改的短期功能分支,那么基于 Trunk 的开发是首选,如下所示。团队中的开发人员每天多次将更改提交到主干(主)。
使用待定的优势:
使用 TBD,有一个master分支和来自 master的多个Release分支。
然而
使用 Gitflow,长期存在的Develop分支有多个Release分支。
1) 使用 TBD,使用 Jenkins 需要多少个管道?
2)每个管道的输入/输出是什么?
git - 查找未在 master 上结束的主干提交 - 使用 Azure 存储库进行基于主干的开发
我在 Azure Repos 中实现了基于主干的开发,如下所示:
- 短期功能分支的开发 - 多次提交
- PR 到主干 - 合并壁球,删除功能分支
- Cherry pick from trunk to release - Azure Repos 做了一个新的 PR,因此有一个新的提交 id
- 将发布分支合并到 master - 基本合并保留历史
- 修复后删除发布分支。
Azure Repos 或 git 中是否有工具实际上可以检查来自主干的哪些提交没有最终进入 master?
git - QA 如何与基于主干的开发一起工作?
在进行基于主干的开发时,将什么部署到 QA 环境以及何时部署?
假设主干上有两个提交功能 A 和功能 B。QA 是否应该手动选择使用功能 A 提交构建并部署到 QA 服务器?如果在功能 A 中发现错误会发生什么?修复将在功能 B 之后进入主干,因此部署到 QA 的下一个构建也将包括功能 B。然后 QA 是否应该在该特定构建中测试功能 A 并使功能 B 未经测试?
或者我们是否应该始终将最新版本从主干部署到 QA,并包含所有最新功能?但在这种情况下,随着开发人员不停地将新功能推向主干,越来越多的功能将在每次新构建后最终进入 QA,测试永远不会完成,也不会发布任何东西到生产环境中。
git - 如何修复基于中继的开发修补程序错误?
我有一个“main”和一个“v1.0-release”分支。
我创建了一个从“main”创建的分支修补程序分支“jira_1538”。所以我知道在 TBD 中,我需要将它合并到 main 和 v1.0-release 中。
为 jira_1538 制作了一个 PR,并将其合并到 v1.0-release 中。我可以看到合并已经完成,但是如果我查看 v1.0-release 中的文件,则没有任何更改。
另外,在 GitHub 上,如果我尝试将 jira_1538 的 PR 设为 main,我会收到一条消息,指出 main 已经与 jira_1538 保持同步
我确定我搞砸了事情的顺序,并且版本号的东西搞砸了。如果有人可以向我解释发生了什么以及如何用 Git 扭转这种情况,那就太好了。我想学习。
最坏的情况是我需要手动更改一些东西,这不会那么糟糕,因为它只是几行代码。
编辑:只是为了表明我缺乏知识,我不知道各种 TBD 教程中提到的“樱桃采摘”是一个实际的 git 命令。所以我试图做 TBD,但做错了。