赞
踩
原始的visoc(父项目)项目结构是下图这样的:
子项目router是这样的:
我们执行以下命令把router添加到visoc中:
git subtree add --prefix router git@github.com:Dovar66/Router.git master --squash
(--squash
表示不拉取历史信息,而只生成一条commit信息)
然后执行git push
把修改推送到远端visoc仓库,现在本地仓库与远端仓库的目录结构为:
当我们在visoc中修改router文件夹下的内容后执行git push
,将会把修改push到visoc上,但不会推送到router仓库。
如果router仓库更新了,visoc里的router如何拉取更新?使用git subtree pull如下
:
git subtree pull --prefix router git@github.com:Dovar66/Router.git master --squash
如果在visoc仓库里修改了router,然后想把这个修改推送到源router仓库呢?使用git subtree push
如下:
git subtree push --prefix router git@github.com:Dovar66/Router.git master
这里我们把子仓库的地址作为一个remote,方便记忆:
git remote add -f router git@github.com:Dovar66/Router.git
然后可以这样来使用git subtree命令:
git subtree add --prefix router router master --squash
git subtree pull --prefix router router master --squash
git subtree push --prefix=router router master
visoc是个完整的android项目,router也是一个完整的android项目,那么visoc怎么引用到router下的module呢?如下图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。