git submodule使用介绍

git submodule使用介绍

  • 简介

    项目中如果使用了公共的模块,在git中通过git submodule使用公共模块的功能能提高开发效率,使用后主项目代码就不用维护公共模块,只需要同步更新公共模块即可,其实就是git的公共库管理工具。

  • 如何使用

    在system项目中引入子模块leetcode

    git submodule add <仓库地址> <本地路径>
    

    新建一个父仓库, 一个子仓库。先将父仓库克隆到本地

    git clone git@github.com:neuskb/system.git
    

    到父仓库,添加子仓库

    git submodule add git@github.com:neuskb/leetcode.git leetcode
    

    添加成功后,在父仓库目录下增加了两个文件

    $ git status
    On branch master
    Your branch is up to date with 'origin/master'.
    
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
            new file:   .gitmodules
            new file:   leetcode
    

    可以看到.gitmodule文件中的内容

    $ cat .gitmodules
    [submodule "leetcode"]
        path = leetcode
        url = git@github.com:neuskb/leetcode.git
    

    再看父仓库的git配置文件

    [submodule "leetcode"]
        url = git@github.com:neuskb/leetcode.git
        active = true
    

    克隆

    克隆包含子仓库的目录,并不会clone子仓库文件,需要执行命令才能克隆

    git submodule init
    git submodule update
    

    或者

    git submodule update --init --recursive
    

    这个时候克隆下来的目录在一个未命名分支,如下:

    $ git branch
    * (HEAD detached at e0fd5f0)
    master
    

    切换到master分支,再执行git pull

    Updating 75d67f2..27263fa
    Fast-forward
    README.md | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)
    

    就可以更新到子项目的更新,再按需切换到你自己的分支,push上去即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值