简短问题: 是否可以配置git以使常规git pull忽略某些文件?
问题描述: 我有一个包含一些大型数据文件的存储库(使用git lfs存储)
虽然一些处理数据文件的开发人员需要更新这些文件的版本,但其他开发人员需要这些文件,但不一定是最新版本。
他们确实需要更新的代码版本。数据文件与代码位于同一个存储库中。
我想设置常规拉不会更新数据文件的方式。
答案 0 :(得分:9)
我遇到了this man page,我没有经过测试,但希望它有所帮助:
您可以将Git LFS配置为仅提取对象以满足某些对象的引用 回购的路径,和/或排除回购的某些路径,以减少回购 你下载不使用的东西的时间。
在gitconfig中,将lfs.fetchinclude和lfs.fetchexclude设置为以逗号分隔的列表 在fetch中包含/排除的路径(根据gitignore的通配符匹配)。 只有与fetchinclude匹配且不与fetchexclude匹配的路径 将为他们提取物品。
git config lfs.fetchinclude "textures,images/foo*"
这只会获取textures文件夹中路径中引用的对象,以及 文件夹中名为foo *的文件
git config lfs.fetchinclude "*.jpg,*.png,*.tga"
仅获取JPG / PNG / TGA文件,无论它们在存储库中的哪个位置
git config lfs.fetchexclude "media/reallybigfiles"
不要获取文件夹media / reallybigfiles中引用的任何LFS对象,但是 取其他所有东西
git config lfs.fetchinclude "media"
git config lfs.fetchexclude "media/excessive"
仅在'媒体'中获取LFS对象。文件夹,但排除其中一个 子文件夹。
答案 1 :(得分:4)
如果你想忽略所有 git lfs文件:
克隆/拉取之前导出GIT_LFS_SKIP_SMUDGE = 1
答案 2 :(得分:1)