0

所以我的结构看起来像这样的回购:

   --project - master
   --project - beta
   --project - dev1.0
   --project - dev1.1
   --project - dev1.2

目前我这样做git branch并且我dev1.2很好,我想从 1.2 开始添加一个项目参考,然后将它“合并”到主控(或相反,哪个更好)问题是,根据对于这本书,我认为我对这一点的理解还不够。

我可以在 dev1.2 分支上做吗:

git add submodule --link-- name然后做git commit -a -m "some message"然后最后??git checkout dev1.1git cherry-pick #commit where I added the reference projectgit submodule udpate

这基本上是说:在开发 1.2 添加一个新引用,提交它 - 添加引用 - 切换到没有引用的 1.1,樱桃选择提交以添加引用,然后更新子模块现在在两个 1.2 上都有引用和 1.1 ..

4

1 回答 1

0

管理子模块可能会变得非常混乱、快速。我建议git-repo改用。它是由 Android 开源项目创建的以满足 Android 需求,但它是一种非常通用的机制,可以被任何项目使用。与 git 子模块相比,它更加通用,并且可以很好地集成gerrit code review(但是这是可选的)。

git-repo 允许您使用“track by commit sha”模型(相当于 git submodule)或“track by branch name”模型(不可能使用 git submodule),或它们的任何组合。

回购只有一个缺点——它不明确支持 Windows(但在 Linux、Mac 和大多数 POSIX 系统上运行良好)。它不能在 Windows 上运行的最初原因是它大量使用了符号链接,但 Windows XP 不支持它们。由于 Windows 7+ 支持符号链接,因此应该可以修复git-repo以在 Windows 上工作,但不幸的是,还没有人愿意这样做。

于 2013-09-17T08:26:17.937 回答