git添加子模块(submodule)

git添加子模块(submodule)

背景

有时候自己的项目需要用到别人的开源代码,例如 freertostinyusb

这个时候有两种选择

  • 将开源的代码下载下来放到自己的 git 中管理
    • 缺点:如果远端仓库更新,自己仓库的代码不会更新
  • 将开源代码通过子模块(submodule)的形式加入到自己的仓库中
    • 优点:自己仓库代码时刻和上游代码保持更新

子模块(submodule)添加方法

例如需要将 tinyusb 开源代码添加到自己的代码仓库中

  1. 进入你想将 tinyusb 添加到的目录
  2. 在该目录下执行
    git submodule add git submodule add https://github.com/hathach/tinyusb.git
    
    上述命令执行之后会将对应的 submodule 代码下载下来。
    这时在仓库的根目录会有新增一个 .gitmodules 文件
  3. 提交子模块到远程仓库
    git add .
    git commit -m "add submodule project"
    git push
    
    到这里 tinyusb 子模块就添加到自己的仓库了,
    效果图如下:
    git添加子模块(submodule)_第1张图片
    这里点击一下蓝色字体就可以跳转到对应的仓库

子模块(submodule)同步问题

git submodule init
git submodule sync
git submodule update

项目地址

  • github 地址

你可能感兴趣的:(工具,git,github,submodule,子模块)