惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
爱范儿
爱范儿
小众软件
小众软件
K
Kaspersky official blog
P
Proofpoint News Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
V
Vulnerabilities – Threatpost
博客园_首页
Microsoft Security Blog
Microsoft Security Blog
C
Cybersecurity and Infrastructure Security Agency CISA
V
V2EX
C
Check Point Blog
S
Schneier on Security
P
Palo Alto Networks Blog
IT之家
IT之家
GbyAI
GbyAI
T
Threat Research - Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tailwind CSS Blog
Project Zero
Project Zero
Y
Y Combinator Blog
V
Visual Studio Blog
Simon Willison's Weblog
Simon Willison's Weblog
T
Threatpost
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
S
Securelist
C
CERT Recently Published Vulnerability Notes
A
Arctic Wolf
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理

博客园 - DoubleLi

如何在gitlab中使用子模块 CMake应用:模块化及库依赖 聊聊git push到远程服务器出现RPC failed问题 Qt Create多核编译配置 C++程序的发布部署方式及缺失依赖库dll的解决方法 VS+QT生成的exe文件所依赖的dll文件和路径 vs如何发布exe并附带动态链接库dll 详解 Visual Studio、MSVC、编译器版本,看完就不再困惑啦! MobaXterm使sftp目录与terminal目录同步 从GPS/北斗模块中获取经纬度 Loguru:Python 日志终极解决方案 VsCode C++ namespace has no member错误 VS Code 提示 namespace “std“ has no member “***“ 解决方法 windows平台中使用vscode远程连接linux进行c++开发配置教程(内容详细适合小白)-2021-3-30 vscode C++ 自动补全失效 从零开始的vscode安装及环境配置教程(C/C++)(Windows系统) VScode 完全卸载并清除原有配置 vscode中 “std“ 没有成员 “round“C/C++(135) vscode 提示 namespace “std“ has no member “mutex“ 的解决方法
Git 自动添加 git 子模块(.gitmodules)
DoubleLi · 2025-04-14 · via 博客园 - DoubleLi

Git 自动添加 git 子模块(.gitmodules)

在本文中,我们将介绍如何通过编辑.gitmodules文件自动添加Git子模块的方法。

阅读更多:Git 教程

什么是Git子模块?

Git子模块是一个Git仓库中引用了另一个Git仓库的方式。它允许在一个项目中管理多个不同存储库的版本。子模块可以提供代码复用和跨项目的依赖管理。

如何手动添加Git子模块?

要手动添加Git子模块,可以使用以下命令:

其中,<repository_url>是子模块的Git仓库URL,<path_to_submodule>是子模块在主存储库中的路径。

例如,要将名为submodule_repo的Git仓库作为子模块添加到主存储库的submodules文件夹中,可以运行以下命令:

运行完上述命令后,Git会自动将子模块克隆到主存储库,并将子模块的元数据保存在.gitmodules文件中。

自动化添加Git子模块(.gitmodules)

有时,在某些情况下我们可能需要自动添加多个Git子模块到主存储库中。通过编辑.gitmodules文件,我们可以实现这一目标。

首先,打开.gitmodules文件并在文件末尾添加你想要添加的子模块的配置。每个子模块的配置应该以如下格式开始:

其中,<path_to_submodule>是子模块在主存储库中的路径,<repository_url>是子模块的Git仓库URL。

例如,假设我们想要自动添加名为submodule1submodule2的子模块,我们可以这样编辑.gitmodules文件:

完成编辑后保存文件。然后运行以下命令来初始化并更新子模块:

Git将自动根据.gitmodules文件中的配置为主存储库添加子模块。

修改已存在的Git子模块(.gitmodules)

如果我们想要修改已存在的Git子模块,我们也可以通过编辑.gitmodules文件实现。找到子模块的配置部分并对其进行修改,然后运行以下命令来应用修改:

git submodule sync命令用于同步配置更改,而git submodule update --remote则会拉取最新的子模块更新。

移除Git子模块(.gitmodules)

如果我们想要移除已存在的Git子模块,可以使用以下命令:

  1. 编辑.gitmodules文件,删除对应子模块的配置。
  2. 运行以下命令以应用更改并从主存储库中删除子模块文件夹:

总结

通过编辑.gitmodules文件,我们可以自动添加、修改和移除Git子模块。这使得我们能够更方便地管理多个Git存储库的版本。请记住,在修改.gitmodules文件后,始终运行适当的Git命令来应用更改。希望这篇文章对你理解和使用Git子模块有所帮助。

参考资料