ProGit摘要6-子模块
托管服务中有好多开发库可以供我们使用,我们怎么将它们引入到我们的项目里面来呢,这就是子模块的概念.
添加
|
|
然后你可以通过git status
和.gitmodules
查看修改内容及子模块信息. 记得添加后要提交.
克隆
现在我们找到一个项目,但是它包含子模块,我们怎么克隆到本地呢
|
|
当然你也可以
|
|
现在问题来了,挖掘机哪家强?不不不,是:如果子模块被别人更改了(子模块一般是别人维护的),那会怎样?
别人推送了
这时你只需要合并并再次更新就行了.
别人没推送
这时你就会遇到fatal: reference isn't a tree
错误,你只好给那个家伙发邮件了.
子模块策略
我们习惯于将项目模块化,然后在git中将各个目录都做成一个个独立的仓库,然后创建一个上层项目包含这些子模块.但是这样做是有问题的–在更新子模块时容易缺失之前的工作.
- 一个合理的策略就是在子模块中工作时应该先创建一个分支,在子模块更新后,我们扔可以拥有一个可以回溯的指针.
另一个问题是移动文件到子模块中去
- 原文作者:mlyixi
- 原文链接:https://mlyixi.github.io/post/cs/ProGit%E6%91%98%E8%A6%816-%E5%AD%90%E6%A8%A1%E5%9D%97/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。