Git SubTree
Git Subtree
Subtree vs Submodule
优点
subtree 更简洁
submodule
会在项目上创建一个.gitsubmodule
文件用于管理子项目。同时在 .git
上创建 .submodule
文件。而 subtree
只是在提交树上增加一个 commit,其他都没有。
subtree 操作更简单
submodule
使用上更繁琐,需要每个人都需要学会使用 submodule
命令初始化项目。
subtree
因为是直接把项目加入到当前的项目代码提交中,所以只要你 checkout
主项目就能有所有的代码。只有需要往子项目共享代码的才需要 subtree 怎么使用,不关心的人不需要知道 subtree
怎么使用
缺点
subtree
功能上没有 submodule
上丰富。对于不关心 sub 项目的人很友好,但是对于使用者来说,每次都需要加上 subtree
不是很友好,不过可以通过设置 alias
来避免这个问题,不过每次都要敲 --prefix
这个也是很蛋疼。如果是 submodule 的话,我只需要进入子项目的目录,就完全好像使用 git 原本的指令即可
共同问题
都是只能把整个项目加入到当前的项目上,并不能只是加入某个目录