在我目前的工作地点,我们使用git-flow,我们使用标准存储桶(在开发中开发,在master中发布,具有此功能,功能等)。
我们正在使用大量的git存储库(每个项目),我经常需要在多个git中启动“功能”。通常是三个git回购。
myApp
git: bitofcode1
git: scripts
git: library
我尝试在所有三个git repos中使用相同的功能名称'feature-change-whatever',但我觉得git-flow模型不适合处理跨多个repos的项目中的新功能
myApp
git: bitofcode1 (feature-change-whatever)
git: scripts (feature-change-whatever)
git: library (feature-change-whatever)
我的想法是,为了将git-flow与'myapp'一起使用,我最好将我的3个不同的git存储库合并为一个更大的存储库。 在使用git-flow时还有其他方法可以解决这个问题吗?
答案 0 :(得分:2)
gitslave:Git协调的多存储库超级项目
gitslave创建了一组相关的存储库 - 一个超级项目存储库和一些从属存储库 - 所有这些存储库都是在所有git操作正常运行的基础上同时开发的。因此,当您分支时,项目中的每个存储库依次分支。同样,当你提交,推,拉,合并,标记,结账,状态,日志等;每个git命令将依次在超级项目和所有从属存储库上运行。
通过这种方式,您可以(如上所述)在多个存储库中创建功能分支。回购。请参阅gitslave basic tutorial。
不幸的是,在编写gitslave (2.0.2) is outdated时,关于普通git
输出中的某些更改的最新版本。
修改: forked gitslave and applied some basic patches to get it working again.看一下!
在Mac OS X上使用brew
,您现在可以:
brew tap joelpurra/joelpurra
brew install --devel joelpurra/joelpurra/gitslave