使用 GIT LFS 跟踪没有文件扩展名的大型二进制文件
Use GIT LFS to track a large binary file without a file extension
iOS 框架内部是一个没有扩展名的二进制文件。我的二进制文件超过了 github 的 100MB 大小限制。
- 我已经按照指示设置了 LFS here
- 我试图告诉 LFS 按名称跟踪我的二进制文件:
git lfs track 'MyFramework'
- 我试图告诉 LFS 通过路径跟踪我的二进制文件:
git lfs track 'path/to/MyFramework'
- 无论如何都没有交易! Github 服务器仍然通过告诉我文件太大来响应。
有什么想法吗?
在git-lfs v1.1.1中,git lfs track 'path/MyFramework'
等跟踪效果很好。您可以使用 'ls-files'.
检查 git-lfs 是否正确跟踪文件
$ git lfs ls-files
828a9ca55c * path/MyFramework
如果 git 已经跟踪文件,git-lfs 不会跟踪它。我认为你必须删除跟踪 MyFramework
文件,然后添加 git lfs track ..
,然后再次提交它。
发现此内容的人的一些注意事项:
- 正如 Outsider 所说,您必须先将文件添加到 GIT LFS,然后再将其添加到 GIT:
git lfs track 'path/to/file
- 如果文件已经在 GIT 中,您需要先将其删除。如果您过去已经在本地将文件提交到 GIT,则您遇到了合法问题。您将无法在本地删除文件,因为远程仓库在删除文件之前首先需要拥有该文件。我通过使用列出的命令 here 将我的存储库恢复到大文件存在之前的状态来解决这个问题。如果你不能这样做,你将不得不以其他方式解决这个问题。 GIT 无限灵活,尽管不透明...
- 在
git lfs-ls-files
确认 LFS 正在跟踪您的文件之前,您必须将文件添加到实际 GIT: git add someFile
- 我的 GIT 客户端(Gitbox)似乎不知道如何处理 GIT LFS,所以我需要(至少是第一次)添加、提交和推送(见here) 在命令行上。
一段时间以来我一直在努力寻找解决方案,每个答案都是使用 git lfs track ..
这对单个文件非常有用,但不能处理正在添加的新文件。
将此添加到 .gitattributes 文件可以找到 Repo 中没有扩展名的所有内容:
* filter=lfs diff=lfs merge=lfs -text # Include everything
/**/ -filter=lfs -diff=lfs -merge=lfs -text # Exclude directories
*.* -filter=lfs -diff=lfs -merge=lfs -text # Exclude anything with an extension
iOS 框架内部是一个没有扩展名的二进制文件。我的二进制文件超过了 github 的 100MB 大小限制。
- 我已经按照指示设置了 LFS here
- 我试图告诉 LFS 按名称跟踪我的二进制文件:
git lfs track 'MyFramework'
- 我试图告诉 LFS 通过路径跟踪我的二进制文件:
git lfs track 'path/to/MyFramework'
- 无论如何都没有交易! Github 服务器仍然通过告诉我文件太大来响应。
有什么想法吗?
在git-lfs v1.1.1中,git lfs track 'path/MyFramework'
等跟踪效果很好。您可以使用 'ls-files'.
$ git lfs ls-files
828a9ca55c * path/MyFramework
如果 git 已经跟踪文件,git-lfs 不会跟踪它。我认为你必须删除跟踪 MyFramework
文件,然后添加 git lfs track ..
,然后再次提交它。
发现此内容的人的一些注意事项:
- 正如 Outsider 所说,您必须先将文件添加到 GIT LFS,然后再将其添加到 GIT:
git lfs track 'path/to/file
- 如果文件已经在 GIT 中,您需要先将其删除。如果您过去已经在本地将文件提交到 GIT,则您遇到了合法问题。您将无法在本地删除文件,因为远程仓库在删除文件之前首先需要拥有该文件。我通过使用列出的命令 here 将我的存储库恢复到大文件存在之前的状态来解决这个问题。如果你不能这样做,你将不得不以其他方式解决这个问题。 GIT 无限灵活,尽管不透明...
- 在
git lfs-ls-files
确认 LFS 正在跟踪您的文件之前,您必须将文件添加到实际 GIT:git add someFile
- 我的 GIT 客户端(Gitbox)似乎不知道如何处理 GIT LFS,所以我需要(至少是第一次)添加、提交和推送(见here) 在命令行上。
一段时间以来我一直在努力寻找解决方案,每个答案都是使用 git lfs track ..
这对单个文件非常有用,但不能处理正在添加的新文件。
将此添加到 .gitattributes 文件可以找到 Repo 中没有扩展名的所有内容:
* filter=lfs diff=lfs merge=lfs -text # Include everything
/**/ -filter=lfs -diff=lfs -merge=lfs -text # Exclude directories
*.* -filter=lfs -diff=lfs -merge=lfs -text # Exclude anything with an extension