美文网首页
git submodule

git submodule

作者: 突突兔007 | 来源:发表于2020-01-06 16:25 被阅读0次

    在git管理的项目中引入一个被git管理的子模块进来,以后如果子模块更新,我们直接在父项目中拉取依赖的子模块的最新内容即可,
    不用每次打jar包,在copy到项目里。使用命令如下:

    path:可以是一个文件夹名称如a,也可以是一个多层目录:a/b/c,这里的path事先不能存在,如果存在,git会报错。
    
    git submodule add git@github.com:xxxx/xxx/xx.git path
    git submodule add git@github.com:xxxx/xxx/xx.git mymodules
    
    当前命令会把子模块拉取到放到本地项目的哪个文件夹中
    
    

    执行完命令之后,会在当前目录下多出来两个文件

    .gitmodules
    mymodules
    

    然后执行

    git add . 
    git commit -m 'add submodule'
    git push
    

    可以在远端看到多出来一个submodules文件夹

    如何拉取子模块的最新代码

    进入到子模块目录下执行如下命令:
    
    git pull
    

    如果子模块特别多,可以执行如下命令一次性拉取所有子模块的内容,需要在父目录下执行

    git submodule foreach git pull
    

    新成员如何完整的拉取包括子模块的项目

    执行如下命令,在父项目的根目录下
    git submodule init
    git submodule update --recursive
    
    执行完之后,submodule会显示处于某个提交节点,而不是分支,这个时候我们可以执行git checkout master切换到master分支,或者别的分支上
    

    我们也可以执行如下一条命令,达到拉取子模块的内容
    git clone git@github.com:xxxx/xxx/xx.git myproject --recursive

    删除子模块

    删除子模块没有相关的命令,我们可以通过rm -rf删除文件,在提交,在推送,在把.gitmodules文件删除,即可

    相关文章

      网友评论

          本文标题:git submodule

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