我试图用git设置我的(Zend Framework)开发环境(或者更重要的是我的目录结构)。但是,我的根本问题与涉及的特定库无关,但更重要的是如何让git完成我想要的。git嵌套仓库 - 子模块与符号链接与其他
我打算让我的项目根目录为/home/jsuggs/project
。
我也将在/ Zend Framework(ZF),Doctrine和其他库上工作,但我只关注ZF,因为其中一个的解决方案可能与其他库中的解决方案相同。
我将在/home/jsuggs/zf2
中克隆ZF2存储库。
我想有/home/jsuggs/project/application/library/Zend
参考/home/jsuggs/zf2/library/Zend
。
我希望能够在本地在两个存储库(project和zf2)上工作,其中zf2中的切换分支直接影响项目。
我的问题是如何设置的Git,这样的深度嵌套库可以在开发过程中引用我的本地版本,但在部署到生产环境,也可以设置为(其它/任意)的位置吗?
我也想避免的路径是绝对的,因此,如果别人对项目工作,然后在库路径不会引用到我的主目录。
我正在调查使用符号链接和git submodules,但想知道是否有这种类型的安装程序的“最佳做法”。另外,我完全有可能只是做错了,所以可以自由地说“只是做X代替”。
谢谢,可能会标记为解决方案。但首先需要澄清一下如何通过Git和子模块来实现这一点。 当我添加对zf2子模块的引用时,我应该在其中添加引用: a)上游zf2主分支? b)我的zf2个人github克隆? c)我的zf2本地分支? 我宁愿立即更改我的本地zf2分支效果项目,但意识到我可能必须执行“git submodule update”才能将它们拉入。欢迎任何建议/建议。 再次感谢您的回应! – jsuggs 2010-07-13 17:28:26
此外,我发现以下链接非常有用,因为子模块有点令人困惑(或相当棘手)来获得设置。 http:// chrisjean。/ 2009/04/20/git-submodules-adding-using-removing-and-updates/ – jsuggs 2010-07-13 17:28:53
@jsuggs:read also http://stackoverflow.com/questions/1979167/git-submodule-update/1979194#1979194 on子模块。我喜欢引用本地克隆为了保持每个本地依赖。但是,一旦你引用了一个子模块回购,你可以在回购中选择你需要的任何分支(假设你回到父回购并再次提交,以注册新的子模块参考) – VonC 2010-07-13 18:04:20