使用从多个站点合并的Git子树

问题描述

| 我的项目使用了许多第三方库。我使用http://progit.org/book/ch6-7.html中描述的子树合并过程。 我想允许其他开发人员维护库并通过执行以下操作定期合并库回购中的更新:
$ git checkout rack_branch
$ git pull
有没有一种方法可以发布rack_remote和rack_branch,因此它们将成为中央存储库的一部分,并允许其他开发人员也可以使用它们?     

解决方法

        您可能应该在项目文档的某些部分中记录每个子树的“上游”的前缀,URL和分支。 下面的示例显示此信息通常会记录在您的子树合并提交消息中,但这取决于完成合并和/或提取的确切方式。 考虑使用以下命令进行初始子树合并创建:
git merge --no-commit sub/master
git read-tree -u --prefix=sub sub/master
git commit
提交消息如下:
Merge remote-tracking branch \'sub/master\'
我们可以看到遥控器名为
sub
,分支名为
master
,但没有看到URL。您可以在最后一步进行手动提交时将URL添加到消息中。 以后,您可以使用ѭ5合并新的“上游”更改:
git pull -Xsubtree=sub sub master
默认的提交消息将包括存储库URL和分支名称:
Merge branch \'master\' of server:path/to/repository
另一方面,在初始合并和后续合并中直接引用提交对象而不使用分支名称的变体(例如,用“ 8”代替“ 9”)将阻止记录分支名称;如果有人决定从ѭ10而不是ѭ11中拉出,则不记录URL的情况也是如此。     ,        您是否考虑过使用子模块?看起来很适合您的工作流程。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...