git中支持引用另外一个开源库,并且可以指定依赖的分支或者提交记录号。
比如fltk-rs 库的fltk-sys
模块依赖了库 cfltk 并指明了依赖的提交是 8a56507
甚至可以嵌套,毕竟库自身也不知道自己给别人当了子。比如上面这个 cfltk 又依赖了 fltk @ 324fcfc
但是如果你单纯使用git clone {url}
去拉取代码,嵌套的库并不会被克隆下来,这样你本地编译免不了失败。
应该怎么做呢?
使用Git Submodules机制,可以将一个Git仓库作为另一个Git仓库的子目录使用。
以下是使用Git Submodules的详细步骤:
在主仓库中添加子模块
git submodule add https://github.com/user/repo
这将从给定的URL创建一个子模块,并将其添加到主仓库中。
初始化并更新子模块
git submodule update --init --recursive
这个命令将初始化子模块并拉取其内容,包括嵌套的子模块。
更新子模块到最新的代码
git submodule update --remote
递归地更新所有子模块
git submodule foreach git pull origin master
删除一个子模块
git submodule deinit -f <submodule_path>
git rm -f <submodule_path>
git commit -m "Remove submodule <name>"
标签:Git,git,fltk,githu,--,submodule,模块
From: https://www.cnblogs.com/somefuture/p/18186756