|
Git归并有两种策略:递归,章鱼。 1.递归策略:当分支数只有两个的时候。 2.章鱼策略:当分支数大于两个的时候。 Git会自动选择归并的方法。 3.子树策略:是Git另一种归并方法。(submodule) 它可以把另一个子项目,嵌入到当前项目。而且会非常聪明的合并这些子项目。(以后就不会有困惑了,在引用其他项目时。) Git使用submodule命令:
gitsubmoduleadd~/git/libs/lib1.gitlibs/lib1
cat.gitmodule
[submodule"libs/lib1"]
path=libs/lib1
url=~/git/libs/lib1.git
cdlibs/lib1
gitremote-v
cd../../
gitsubmoduleinit
gitsubmoduleupdate
在 libs/lib1/ 目录下添加文档,发现新增加的子模块lib1,在git状态列表中,多了个(untracked content),并不会把lib1库下的所有改动,在git status体现出来。(方便了项目管理子模块) 像操作git一样在子模块管理git工作区。 注: 如果在添加子模块后,不回到最上层主分支.忘记了调用命令:git submodule update,那么你极有可能再次把旧的submodule依赖信息提交上去,当调用命令:git commit -a。
参考: Git 工具 - 子树合并 Git Submodule使用完整教程
出处:https://my.oschina.net/iatbforever/blog/228914
|