Git拉忽略图像文件

Git拉忽略图像文件,git,Git,我是一个偶尔发布图片的存储库的贡献者。这些图像实际上并不重要,但其他贡献者将继续添加并将它们推送到存储库中。我想执行忽略图像文件后缀的pull操作,例如*.png。git目录占用了太多的空间,我真的不需要拉这些图像文件 如何才能不拉取图像文件,而获取其他所有内容?您可以使用稀疏签出来稀疏填充您的工作目录稀疏签出利用位,使git假定工作树中的文件是最新的 对于以下内容,我将假设您当前位于存储库的根目录中,并且有一个干净的工作树(git stashe.g.) 首先,您必须使用git config

我是一个偶尔发布图片的存储库的贡献者。这些图像实际上并不重要,但其他贡献者将继续
添加
将它们推送到存储库中。我想执行忽略图像文件后缀的
pull
操作,例如
*.png
。git目录占用了太多的空间,我真的不需要拉这些图像文件


如何才能不
拉取图像文件,而获取其他所有内容?

您可以使用
稀疏签出
来稀疏填充您的工作目录<代码>稀疏签出
利用位,使git假定工作树中的文件是最新的


对于以下内容,我将假设您当前位于存储库的根目录中,并且有一个干净的工作树(
git stash
e.g.)

首先,您必须使用git config core.sparsecheckout true启用
稀疏签出
;在此之后,您可以在
.git/info/sparse checkout
中定义要在签出时“忽略”的所有模式
语法与
.gitignore
文件中的语法相同,不同之处在于定义了所有要签出的文件,而不是要忽略的文件

假设您不想签出存储库中的所有
png
文件,那么
稀疏签出
文件可能如下所示:

*         # Include everything
!*.png    # Flag png files with the 'skip-worktree' bit
如果要对当前工作目录应用
稀疏签出
,则必须在之后执行命令

git read-tree -m -u HEAD
之后,您可以像往常一样继续使用存储库,而不必在工作树中使用“忽略”的文件


TL;医生:

  • 激活稀疏签出
git config core.sparsecheckout true
  • .git/info/
    下定义一个
    稀疏签出
    文件,其中包含要包含的文件模式
  • 更新您的工作树
    git read tree-m-u HEAD


  • 您可以在的官方文档中阅读有关稀疏签出的更多信息。

    这是不可能的。也许可以将图像文件提取到一个单独的存储库(可能通过子模块提供),您可以选择不从中提取。我将尝试一下。谢谢你的提示!