【发布时间】:2021-11-18 17:28:12
【问题描述】:
我仍在学习 Git 最佳实践的过程中,我正在尝试找出我在哪里出错了......
我们有一个“主”分支连接到我们的“暂存”环境。对该分支的任何提交都会触发更新该环境的管道。
我们有一个“生产”分支,这是我们的受保护分支,反映了实际生产中的内容。
所有其他工作都发生在我们从生产中克隆的各个功能分支中。
所以这是工作流程:
开发人员 A 创建一个名为“NewFeature1”的分支(从生产中克隆)。
开发人员 B 创建了一个名为“BugFix1”的分支(从生产中克隆)。
开发者 B 将代码推送给“master”进行测试。
开发人员 A 尝试将代码推送到“master”,但遇到了冲突。开发人员 A 解决了冲突,但这会导致“NewFeature1”分支从“master”获得大量提交历史记录,这并不理想?
当开发人员 A 对“NewFeature1”中的更改感到满意时,将为“生产”分支打开合并请求。但是,他们不仅看到与 NewFeature1 相关的 1 或 2 个提交,还看到来自 master 被合并的巨大提交历史。唯一真正更改的文件是相关文件,但来自 master 的提交仍在其中,这让我感到害怕。
总的来说,我们对 Git 都很陌生,所以我可能在这里遗漏了一个核心概念。
【问题讨论】:
-
Developer A resolves the conflicts,如何? -
通过 UI -- 在列出的冲突中选择“使用我们的”。
-
可能值得阅读一些关于 git 工作流的背景资料。这是我喜欢的一篇文章:sethrobertson.github.io/GitBestPractices 特别是“香肠制作”部分
-
谢谢大家,我去看看。