Today I will… manage Git Submodules without leaving the IDE

TL;DR · AI 摘要
Visual Studio 18.9新增Git子模块管理功能,允许开发者在IDE内直接操作,无需切换终端。
核心要点
- Visual Studio 18.9版本开始原生支持Git子模块管理
- 新增专用Submodules面板和分支关系图谱功能
- 默认只读模式可防止误提交子模块修改
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Visual Studio Git Submodules
- 核心功能
- 原生支持
- 专用面板
- 关系图谱
- 操作优化
- 添加/更新/删除
- 自动激活
- 安全机制
- 默认只读
- 显式启用编辑
金句 / Highlights
值得收藏与分享的关键句。
Git submodules are a first-class part of the IDE no more bouncing out to the command line
The branch and repository pickers actually understand how your parent repo and its submodules relate
Visual Studio treats them as read-only by default saving you from accidental commits
今天,我将... 在不离开 IDE 的情况下管理 Git 子模块 - Visual Studio 博客
如果你曾经使用过 Git 子模块,你可能对它们又爱又恨。它们确实能帮助你将共享库、SDK 或通用构建脚本引入项目。但实际操作时,通常意味着要切换到终端,努力回忆这次是使用 git submodule update --init 还是 --init --recursive,而一个功能齐全的 IDE 就在你面前,却只能无奈耸肩。
这就是我们想要解决的问题。从 Visual Studio 18.9 开始,Git 子模块将成为 IDE 的一等公民,无需再切换到命令行来维护依赖关系。这个功能长期以来一直是用户最迫切的需求之一,现在终于该实现了。
它们终于感觉像是 IDE 中 Git 的一部分
子模块不再是神秘的文件夹。Git 仓库窗口中新增了专门的“子模块”部分,它们在“Git 更改”中正确显示,分支和仓库选择器也真正理解了父仓库与子模块之间的关系。
[图片:Git 仓库窗口中的子模块部分]
[图片:Git 更改窗口中的子模块]
坐在原地即可添加、更新和删除
从该子模块部分,你可以直接添加、更新或删除子模块,无需记忆各种标志,也无需切换终端。打开解决方案或文件夹时,Visual Studio 会自动发现并激活子模块,同时将它们排除在主本地仓库列表之外,避免你的仓库选择器变得杂乱无章。
[图片:在 Visual Studio 中选择子模块仓库]
默认只读模式
大多数时候你只是 *使用* 子模块,而不是编辑它们,因此 Visual Studio 默认将其设为只读。这可以避免你意外地将更改提交到仅需引用的依赖项中。当你确实需要在子模块中工作时,只需设置一次:工具 > 选项 > 源代码管理 > Git,找到“自动激活多个仓库”,选择“是,包括子模块”。
这只是个开始
这只是第一个里程碑,而非终点。它涵盖了你日常所需的核心功能,未来版本中将根据你的反馈推出更多功能。
我们很想听听你的意见
这个功能之所以存在,是因为你们中有很多人一直在请求它,所以请继续提供反馈。在功能票证上留下你的想法,如果遇到问题,请使用 Visual Studio 中的“报告问题”工具,这是与我们联系的最快方式。你也可以在 Twitter @VisualStudio、YouTube 和 LinkedIn 上找到我们的团队。
一如既往,感谢与我们一同编码。
.entry-content
AI 免责声明