我有基础分支,3 个子分支,每个分支都有 3 个分支,总共有 12 个子分支。
我刚刚对要合并到所有 12 个子分支的基础分支进行了更改。是否可以一次合并所有子分支的更改?或者我必须单独合并它们吗?
我有基础分支,3 个子分支,每个分支都有 3 个分支,总共有 12 个子分支。
我刚刚对要合并到所有 12 个子分支的基础分支进行了更改。是否可以一次合并所有子分支的更改?或者我必须单独合并它们吗?
base
您可以对从到子分支的变更集执行三次合并操作。但是您随后还需要毫无根据地合并从base
到孙分支的更改。
我不知道如果您尝试将带有签入的变更集合并到 12 个分支中会发生什么。
就个人而言,我只是硬着头皮将其合并到层次结构中的每个分支。这样做的好处是可以轻松跟踪单个更改、处理冲突并且不需要任何毫无根据的合并。
之前也遇到过类似的情况。我采用的一个简单解决方案是编写一个小的 shell 脚本,使该过程稍微自动化。下面是一个示例:
@echo Merge - Product ABC
@"%VS100COMNTOOLS%..\IDE\tf.exe" merge /recursive "Base\CORE" "$/.../tfs/path/to/ABC"
@echo Merge - Product XYZ
@"%VS100COMNTOOLS%..\IDE\tf.exe" merge /recursive "Base\CORE" "$/.../tfs/path/to/XYZ"
@echo Merge - Product 123
@"%VS100COMNTOOLS%..\IDE\tf.exe" merge /recursive "Base\CORE" "$/.../tfs/path/to/123"
这种方法存在明显的缺陷,但如果您发现自己将相同的共享库合并到许多子分支,这至少可以加快流程。
执行脚本后,您可以简单地检查所有内容(如果都在同一屋檐下,则批量检查)。
另外作为旁注,如果您复制脚本并交换 src 和 dst 路径,那么基本上可以将子分支中所做的所有更改向后集成回主库;)