我正在研究处理这种情况的最佳方法
位置A - 我们编写了一个新的软件包,晚上它被推送到 B
位置B - 编码员添加了一些永远不会返回 A
的特定功能位置A - 制作软件的新版本并推送到 B
位置B - <<怎么了??有没有办法在不需要任何用户交互的情况下自动更新底层软件? >>
假设最终我们会有多个位置( B , C , D 等),这些位置可能包含他们需要的自定义代码存储(但永不推迟)
我知道在SVN中有一个叫做供应商分支的东西,但我不确定最好的git方法来处理这个问题。我担心的是,如果这个过程太复杂,它就会失败。
我假设使用远程或某种git mirror命令是可行的方法,但我正在寻找一些建议。
答案 0 :(得分:0)
为了使推送始终成功,位置 B 的开发和主分支必须是位置 A 的完美镜像。此外,您永远不会直接在位置 B 的分支机构上工作,而是在特定于供应商的分支机构上工作:例如develop-vendor
和master-vendor
(这些都是坏名称,可以说)。 / p>
即使您只打算修改位置 B 的代码一次并在此后自动更新,您可能会遇到从位置推送 A 的情况 B 会导致与*-vendor
分支机构发生合并或重新绑定冲突,因此您必须在流程中考虑这种可能性:例如,creating位于 B 可能会尝试自动将origin/master
合并到master-vendor
,但如果出现任何问题则会发出警告。