这里是我的项目结构你如何与git子模块一起开发?
MainProject
| README.md
| src/
| lib/ # this is a submodule
当我开发MainProject
,我还将开发lib/
,我的意思MainProject/lib/
。
当我按下时,我会将MainProject/lib/*
中的所有更改复制到MainProject/../lib/
,这是一个单独的git目录,然后按下。
之后,我将在MainProject/lib/
远程做一个子模块更新为最新。
然后,我将致力于在MainProject
推变化。
罹患此病。你如何与git子模块一起发展?
ADD
我想在lib/
推到远程lib
库中的所有变化。 和所有在MainProject
lib/
旁边变化推到远程MainProject
。
所以,如果我直接把远程lib
仓库内MainProject/lib
然后在MainProject
远程添加和提交并推送变化lib/
旁边。
如果别人克隆MainProject
,做submodule update
,他会获得最新的来源是什么?
我.gitmodules
:
[submodule "lib"]
path = lib
url = [email protected]:XXX/YYY.git
branch = master
谢谢。你是什么意思“回到MainProject /,添加,提交和推送......”?我在帖子中添加了一些内容。请阅读并提供帮助。谢谢。 – Sato 2014-08-29 06:22:11
@Sato我编辑了我的答案。从其父代回购MainProject的角度来看,如何查看'lib'是非常重要的:作为索引中的gitlink条目,以便记录子模块检出的确切SHA1。如果您在子模块中创建一个新的提交,您需要推送它,但也要回到主项目并添加/提交该gitlink条目。 – VonC 2014-08-29 06:49:02
所以当其他人克隆'MyProject'并做一个'submodule update'时,它会得到确切的SHA1(记录在'MainProject'中的gitlink条目)而不仅仅是HEAD? – Sato 2014-08-29 07:19:44