Team Foundation Server中Git仓库能否创建子仓库或子文件夹?
关于TFS Git仓库的代码分类管理方案
嗨,别担心基础问题,谁刚开始接触版本控制都会有这类疑问的😉 针对你的需求,我给你梳理两种可行的方案,你可以根据团队代码的关联度来选择:
1. 用子文件夹整理(最推荐新手的方式)
Git原生支持在仓库内创建任意层级的子文件夹,这是最简单直接的代码归类方式。比如你可以按功能模块、项目类型来划分:
backend/:存放后端服务代码frontend/:存放前端页面代码docs/:存放项目文档tests/:存放自动化测试脚本
操作起来毫无难度:本地创建好文件夹,把对应代码移进去,然后通过git add .、git commit、git push提交到TFS仓库即可,TFS网站上也能清晰看到整个文件夹结构,完全满足你“整洁有序管理”的需求。这种方式适合代码关联性较强、需要共享提交历史的场景。
2. 用Git子模块管理独立项目(适合完全独立的代码库)
如果团队有几个完全独立的项目,不想让它们的提交历史混在一起,那可以用Git的**子模块(submodules)**功能——注意这不是在主仓库里“创建子仓库”,而是把另一个独立的Git仓库作为主仓库的一个目录引用。
基本操作步骤:
- 先让管理员在TFS上为每个独立项目创建单独的Git仓库
- 在本地主仓库目录下,执行命令添加子模块:
git submodule add <TFS上子仓库的克隆URL> ./path/to/submodule-folder - 提交主仓库的变更(此时主仓库会生成一个
.gitmodules文件,记录子模块的关联信息) - 其他开发者克隆主仓库时,需要加上
--recurse-submodules参数才能同时拉取子模块内容:
或者克隆后手动初始化子模块:git clone <主仓库URL> --recurse-submodulesgit submodule init git submodule update
不过子模块的使用会稍微复杂一点,比如更新子模块、提交变更需要额外的步骤,适合项目之间完全独立、不需要共享依赖的场景。
针对你的TFS版本说明
你使用的TFS 15.117.26714.0(对应Azure DevOps Server 2017 Update 2版本)完全支持上面两种方案,不管是子文件夹还是子模块,都能在TFS网站上正常查看和操作。
总结一下:如果只是想整理现有代码的结构,优先用子文件夹;如果是多个独立项目,再考虑子模块~
内容的提问来源于stack exchange,提问作者sheepsqueezers
相关产品推荐
相关产品推荐

