简短的问题:是否可以配置git,以便常规git pull将忽略某些文件?
问题描述:我有一个包含一些大数据文件的存储库(使用git lfs存储)
虽然一些处理数据文件的开发人员需要这些文件的更新版本,但其他开发人员需要这些文件,但不一定需要最新版本。
他们确实需要更新的代码版本。数据文件与代码位于同一个存储库中。
我想设置常规拉不会更新数据文件的方式。
我遇到了this man page,我没有测试,但希望它有所帮助:
您可以将Git LFS配置为仅提取对象以满足存储库的某些路径中的引用,和/或排除存储库的某些路径,以减少您下载不使用的内容所花费的时间。
在gitconfig中,将lfs.fetchinclude和lfs.fetchexclude设置为逗号分隔的路径列表,以便在fetch中包含/排除(根据gitignore进行通配符匹配)。只有fetchinclude匹配且fetchexclude不匹配的路径才会为它们提取对象。
git config lfs.fetchinclude "textures,images/foo*"
这将仅获取textures文件夹中路径中引用的对象,以及images文件夹中名为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"
仅在“media”文件夹中获取LFS对象,但不包括其子文件夹中的LFS对象。如果你想忽略所有git lfs文件:
export GIT_LFS_SKIP_SMUDGE = 1
在克隆/拉取之前