单个Git仓库能否配置多个Git LFS仓库?
单个Git仓库配置多Git LFS仓库的实现方案
可行,但你尝试的子目录放置.lfsconfig的方法无效——Git LFS仅会读取仓库根目录及全局的.lfsconfig配置文件,不会自动加载子目录的配置。以下是两种有效的实现方式:
方法一:通过git lfs track指定对应远程
- 保留根目录
.lfsconfig的现有配置:
[lfs] url = "https://USERNAME:PASSWORD@URL" [remote "LFSRepoB"] lfsurl = "https://USERNAMEB:PASSWORDB@URLB"
- 为FolderA的文件绑定默认LFS远程(主地址):
git lfs track "FolderA/**"
- 为FolderB的所有文件指定使用
LFSRepoB远程:
git lfs track "FolderB/**" --remote LFSRepoB
- 提交自动生成/修改的
.gitattributes及.lfsconfig:
git add .gitattributes .lfsconfig git commit -m "配置不同目录对应不同LFS仓库"
此后推送/拉取时,FolderA的LFS文件会走主地址,FolderB的文件会走LFSRepoB配置的地址。
方法二:使用Git条件配置切换LFS地址
若不想通过.gitattributes绑定远程,可利用Git的条件配置实现路径级别的LFS地址切换:
- 打开仓库根目录下的
.git/config文件,添加以下配置:
[lfs] url = "https://USERNAME:PASSWORD@URL" [includeIf "gitdir:./FolderB/"] [lfs] url = "https://USERNAMEB:PASSWORDB@URLB"
- 保存配置后,当操作FolderB内的文件时,Git会自动将LFS地址切换为
LFSRepoB的地址。
验证配置有效性
可在不同目录下执行git lfs env命令,查看输出中的LFS_URL字段是否正确匹配对应路径的配置地址。
内容的提问来源于stack exchange,提问作者user14964868
相关产品推荐
相关产品推荐

