使用git
命令可以直接添加Submodule
:
git submodule add git@github.com:jjz/pod-library.git pod-library
使用 git status
命令可以看到
git status
On branch master
Changes to be committed:
new file: .gitmodules
new file: pod-library</code></pre>
可以看到多了两个需要提交的文件:.gitmodules
和 pod-library
.gitmodules
内容包含Submodule
的主要信息,指定reposirory
,指定路径:
[submodule "pod-library"]
path = pod-library
url = git@github.com:jjz/pod-library.git
可以看到记录了子项目的目录和子项目的git
地址信息。
pod-libray
内容只保护子项目的commit id
,就能指定到对于的git header
上,例如:
Subproject commit 4ac42d2f8b9ba0c2f0f2f2ec87ddbd529275fea5
4ac42d2f8b9ba0c2f0f2f2ec87ddbd529275fea5
就是子项目的commit id
,父项目的git并不会记录Submodule
的文件变动,它是按照commit git
指定Submodule
的git header
。
另外,这两个文件都需要提交到父项目的git中。
下述方法不行
还可以这样使用命令添加Submodule
git add .gitmodules pod-ibrary
git commit -m "pod-library submodule"
git submodule init
原文链接:https://www.f2er.com/git/419516.html