美文网首页
Git Submodule从零开始学习

Git Submodule从零开始学习

作者: 十一岁的加重 | 来源:发表于2017-10-26 23:02 被阅读32次

学习地址:http://www.kafeitu.me/git/2012/03/27/git-submodule.html
文章内全是命令,我对应照着做了下,并上了图方便理解。
一、我们切换到桌面执行mkdir -p submd/repos
这里 mkdir带上 -p就是递归创建目录的意思,即桌面上是没有submdrepos这两个文件夹的,执行命令后会创建这两个文件夹,如图

image.png

二、

cd ~/submd/repos
git --git-dir=lib1.git init --bare
git --git-dir=lib2.git init --bare
git --git-dir=project1.git init --bare
git --git-dir=project2.git init --bare

执行命令git --git-dir=lib1.git init --bare后,

image.png

剩余三条命令

image.png

三、

mkdir ~/submd/ws
cd ~/submd/ws

这里我是手动创建的,然后从这个创建的ws文件夹启动

image.png
实践证明原文还是不对,有些地方不对
这里 我们执行git clone ../repos/project1.git
执行效果可以看到是从之前的repos文件夹中cloneproject1 image.png

然后执行echo "project1" > project-infos.txt
生成了一个文件

image.png
然后我们就提交代码到仓库了,只不过这个关联的仓库不像我们日常开发中的公司的gitlab而是本地的一个仓库
我们就不像原文中那样敲命令行,我们使用Sourcetree
已经提交成功 image.png

三、重复工作,切换到submd/ws
我们处理proj2
git clone ../repos/project2.git
cd project2
echo "project2" > project-infos.txt

image.png

然后我们提交

image.png

四、类似 的执行

 git clone ../repos/lib1.git
cd lib1
 echo "I'm lib1." > lib1-features
cd ../
git clone ../repos/lib2.git
cd lib2
decho "I'm lib2." > lib2-features

最后的效果

image.png image.png

最近的效果是这样的

image.png

操作了这么多实际 上看起来有点复杂,其实也就是创建了四个仓库,而这四个仓库关联的是本地的repos里的四个仓库

四、为project1添加lib1和lib2
老实说,我看到了这个

image.png

算了,还是先跟着原文走一下吧,懂了原理再来操作Sourcetree
切换到目录project1
cd ../project1
然后
git submodule add ~/submd/repos/lib1.git libs/lib1
然后文件夹变了,多了两个东西

image.png
再执行git submodule add ~/submd/repos/lib2.git libs/lib2 image.png

可以看到此时仓库有三处变更

image.png

至少貌似就差提交,就完成了子模块的添加 ,接下来我再从Sourcetree上来添加试试
这里我直接重置刚才用命令提交的子模块,为了明晚接着练习,我得备份一下,这里

image.png

并且我们还得存下.gitmodules里的的内容,可参考 里面,关于路径 的写法

image.png

然后我们直接右键 添加子模块

image.png

这里我们选择这个资源路径,很奇怪这里居然是个省字,看来Sourcetree的汉字没处理好啊

image.png

接着我们来添加这个本地路径 ,手动新建好两个目录

image.png image.png

接着来lib2
创建文件夹


image.png

加入子模块


image.png
可以看到现在的效果和用命令行的效果是一样的 image.png

对比之前用命令行创建的.gitsubmoduel文件内容发现,是一样的

image.png

原文已看到,### 2.3 修改Submodule

相关文章

网友评论

      本文标题:Git Submodule从零开始学习

      本文链接:https://www.haomeiwen.com/subject/yrdlpxtx.html