git submodule 子模块功能使用

参考教程

排版好,写得比较简洁的教程

用子模块容易踩坑之:游离分支
【特殊点】
默认情况下,子模块并没有本地分支,而是会停留在一种特殊的 “detached HEAD” 模式下;要对其修改并被 Git 跟踪的话,就要先手动检出分支:

子模块有何问题?
需要手动更新子模块代码

第三方库频繁更新时,本项目的 git log 里会生成很多日志

在项目中运行 git status,顶多只能知道子模块有变化,但具体是什么还要到子目录中再去运行一次

正如前面看到的,建立、删除、合并和解决冲突都比较麻烦

【子模块的进化方案】
git subtree 命令,从 git v1.8 后可用,官方推荐使用 subtree 代替 submodule,其并不需要保存 .submodule 这样的元信息。

subtree 与 submodule 对比,及原理分析

git subtree使用教程

Leave a Reply

Your email address will not be published.