Git: merge 多个存储库

标签 git master-slave git-slave

我们为基本设置创建了一个存储库,可用于新项目。这个基本设置是“正在进行中的”,因此其开发正在进行中。当有一个新项目时,我们希望采用基本设置并使用它。新项目是基本设置内的模块。

由于基本设置正在开发中,我们希望将更新推送到其他存储库。我们如何使用 Git 来做到这一点?

我在 Gitslave 上读到了一些东西。这个好吗? http://gitslave.sourceforge.net/

最佳答案

当您想在多个存储库上运行相同的命令时,可以使用 Gitslave。在这种情况下,唯一的适用性是如果您创建了一个 super 项目(可能来自基本存储库,也可能是另一个存储库)并将所有项目存储库作为子项目。然后,您可以在一个命令中,在所有从属存储库中添加一个指向基本存储库的远程,检查所有从属存储库中的基本分支,然后将更改 pull 入每个从属存储库,最后 merge/重新设置基本分支- 分支到项目分支(主分支或其他分支)。一旦解决了所有冲突,您就可以推出每个项目存储库。

这与将更改推送到其他存储库相反,但可能更有用,因为您也可以自动化 merge 过程。

请注意,另一种更符合您最初愿望的方法是添加“全部”推送目标,这将在同一命令中将基本分支推送到多个存储库。 http://jeetworks.org/node/22

但是,请注意,您在所有情况下都必须具有“基本分支”概念,才能制定合理的分支策略。具体来说,项目分支必须从 basic-branch 分支出来,以便可以 merge 或重新建立 basic-branch 的更新。

还有另一种选择是使用一个存储库来管理所有这些项目,并为每个项目创建一个分支。然后,您需要编写一些自动化操作,将对 basic-branch 的更改 merge 到所有其他适当的分支中。根据您的需求、安全性或项目彼此之间的偏离程度,或者项目特定的问题有多少,这可能有意义,也可能没有意义。

关于Git: merge 多个存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9717503/

相关文章:

git - npm install,缺少node_modules文件夹

git - Drools工作台异常: cannot open git-upload-pack

mysql - dropwizard 和 hibernate 中的主从

php - MySQL 查询委托(delegate)/传输

git - 如何在不使用分支的情况下在同一基目录中创建两个 Git 存储库?

git - Jenkins 在Docker错误:CP命令无法找到目录

ruby-on-rails - 指定要与 git merge 的文件夹

使用黑洞引擎的Mysql主主复制

git - 多个 git 存储库的最佳实践

git - 使用提交的 Git 子模块时有哪些选项?