如何在Git sparse-checkout Cone模式下隐藏仓库根目录文件?
解决Git Sparse-Checkout Cone模式下根目录文件未隐藏的问题
Cone模式的设计逻辑是:只要你指定了任意子目录作为包含路径,根目录下的所有跟踪文件都会被自动包含——这是为了避免因缺少根目录配置文件(比如package.json、Makefile这类)导致项目无法正常构建,属于该模式的固有特性。
如果确实需要隐藏根目录文件,且不影响远程仓库内容,你需要切换到标准稀疏检出模式操作:
- 先禁用Cone模式,初始化标准稀疏检出:
git sparse-checkout init --no-cone - 设置包含路径,同时显式排除根目录下的所有文件(注意排除规则要放在包含规则之后):
git sparse-checkout set /infrastructure/terraform /services/api '!/*'
执行完以上命令后,本地工作区只会保留你指定的两个子目录,根目录的跟踪文件会被隐藏,且远程仓库的所有文件不会受到任何修改。
注意:如果之后重新启用Cone模式,根目录文件会再次被自动包含,这是Cone模式的默认行为。
内容的提问来源于stack exchange,提问作者AstroBrick
相关产品推荐
相关产品推荐

