简短的问题:有没有可能配置git,让常规的git pull会忽略一些文件?问题描述:我有一个存储库,其中包含一些大型数据文件(使用GITLFS存储)虽然一些处理数据文件的开发人员需要这些文件的更新版本,但其他开发人员需要这些文件,但不一定是最新版本。他们需要更新的代码版本。数据文件和代码在同一个存储库中。我想设置一种方法,使定期拉取不会更新数据文件。
gpfsuwkq1#
我遇到了this man page,我没有测试,但希望它能帮助:
您可以配置Git LFS,使其只获取对象以满足repo的某些路径中的引用,和/或排除repo的某些路径,以减少您下载不使用的内容的时间。在gitconfig中,将lfs.fetchinclude和lfs.fetchexclude设置为逗号分隔的路径列表,这些路径包含/排除在fetch中(通配符匹配为gitignore)。只有fetchinclude匹配而fetchexclude不匹配的路径才会为它们获取对象。
这将只获取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对象,但排除其中一个子文件夹中的对象。
git config lfs.fetchexclude "media/excessive"
6jjcrrmo2#
如果你想忽略所有git lfs文件:
export GIT_LFS_SKIP_SMUDGE=1
字符串克隆/拉取之前
deikduxw3#
git checkout patch (choose files to checkout)
我能想到的唯一方法就是使用部分 checkout 来完成这样的工作
git checkout -p
字符串它将允许您选择手动 checkout 哪些文件。
的数据
3条答案
按热度按时间gpfsuwkq1#
我遇到了this man page,我没有测试,但希望它能帮助:
包含和排除
您可以配置Git LFS,使其只获取对象以满足repo的某些路径中的引用,和/或排除repo的某些路径,以减少您下载不使用的内容的时间。
在gitconfig中,将lfs.fetchinclude和lfs.fetchexclude设置为逗号分隔的路径列表,这些路径包含/排除在fetch中(通配符匹配为gitignore)。只有fetchinclude匹配而fetchexclude不匹配的路径才会为它们获取对象。
示例:
这将只获取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对象,但排除其中一个子文件夹中的对象。
6jjcrrmo2#
如果你想忽略所有git lfs文件:
字符串
克隆/拉取之前
deikduxw3#
git checkout patch (choose files to checkout)
我能想到的唯一方法就是使用部分 checkout 来完成这样的工作
字符串
它将允许您选择手动 checkout 哪些文件。
的数据