5

在我目前的工作地点,我们正在使用 git-flow,我们使用标准的存储桶(在开发中开发,在 master 中发布,功能这个,功能那个等)。

我们正在使用大量 git 存储库(每个项目),我经常必须在多个 git 中启动一个“功能”。通常大约三个 git repos。

myApp
    git: bitofcode1
    git: scripts
    git: library

我尝试在所有三个 git 存储库中使用相同的功能名称“feature-change-whatever”,但我觉得 git-flow 模型不适合处理跨多个存储库的项目中的新功能。

myApp
    git: bitofcode1 (feature-change-whatever)
    git: scripts  (feature-change-whatever)
    git: library  (feature-change-whatever)

我的想法是,为了将 git-flow 与“myapp”一起使用,我最好将我的 3 个不同的 git 存储库合并到一个更大的存储库中。使用 git-flow 时还有其他方法可以解决这个问题吗?

4

1 回答 1

2

gitslave:为 Git 协调的多存储库超级项目

gitslave 创建了一组相关的存储库——一个超级项目存储库和许多从属存储库——所有这些存储库都是同时开发的,所有 git 操作都应该在这些存储库上正常运行;所以当你分支时,项目中的每个仓库都会依次分支。同样,当您提交、推送、拉取、合并、标记、签出、状态、日志等时;每个 git 命令将依次在超级项目和所有从存储库上运行。

这样,您可以(如前所述)在“单个较大”存储库中跨多个存储库创建功能分支。请参阅gitslave 基础教程

不幸的是,在编写gitslave (2.0.2)时的最新版本在plaingit输出的一些变化方面已经过时。

编辑: 分叉 gitslave 并应用了一些基本补丁以使其再次工作。一探究竟!

brewMac OS X 上,您现在可以:

brew tap joelpurra/joelpurra
brew install --devel joelpurra/joelpurra/gitslave
于 2015-04-16T05:18:31.617 回答