Lea*_*wly 27 git github large-files git-lfs
我有一些csv文件大于github的文件大小限制为100.00 MB.我一直在尝试使用Git Large File Storage扩展.
来自LFS - "Large file versioning- Version large files—even those as large as a couple GB in size—with Git."
我在关注的文件夹中应用了以下内容:
git lfs track "*.csv"
Run Code Online (Sandbox Code Playgroud)
但是,当我推:
remote: error: File Time-Delay-ftn/Raw-count-data-minor-roads1.csv is 445.93 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File Time-Delay-ftn/Raw-count-data-major-roads.csv is 295.42 MB; this exceeds GitHub's file size limit of 100.00 MB
Run Code Online (Sandbox Code Playgroud)
当我查看有问题的文件夹时:
-rw-r----- 1 user staff 42B 23 Oct 12:34 .gitattributes
-rw-r--r-- 1 user staff 1.3K 19 Oct 14:32 DfT_raw_major_manipulation.py
-rw-r--r-- 1 user staff 1.2K 16 Oct 15:08 DfT_raw_minor_manipulation.py
drwxr-xr-x 21 user staff 714B 22 Oct 11:35 Driving/
-rwxr-xr-x@ 1 user staff 295M 19 Oct 14:47 Raw-count-data-major-roads1.csv*
-rwxr-xr-x@ 1 user staff 446M 16 Oct 14:52 Raw-count-data-minor-roads1.csv*
Run Code Online (Sandbox Code Playgroud)
当我修改.gitattributes文件时,你可以看到lfs设置:
*.csv filter=lfs diff=lfs merge=lfs -text
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
UPDATE
当我查询
git lfs ls-files
Run Code Online (Sandbox Code Playgroud)
我没有得到任何回报.这表明尽管.csv过滤器成功应用于.gitattributes文件,但是lfs没有拾取csv文件
pit*_*as3 44
从 Git LFS 2.2.0 开始,您可以使用git lfs migrate
命令。在您的情况下,它看起来像这样:
git lfs migrate import --include="*.csv"
Run Code Online (Sandbox Code Playgroud)
在此之后,您应该能够将更改推送到原点。
有关更多信息,git lfs migrate
请访问Git LFS 2.2.0 发行说明站点和git-lfs-migrate 命令文档。
Edw*_*son 22
只需将git-lfs配置添加到现有存储库,就不会将大文件追溯转换为LFS支持.这些大文件将保留在您的历史记录中,GitHub将拒绝您的推送.
您需要重写历史记录,以便将git-lfs引入现有提交.我推荐最近添加了LFS支持的BFG repo清理工具.
您应该能够通过以下方式转换CSV文件的历史使用情况:
$ java -jar ~/bfg-1.12.5.jar --convert-to-git-lfs '*.csv' --no-blob-protection
Run Code Online (Sandbox Code Playgroud)
Cod*_*ker 22
在终端中尝试以下命令。它将解决 lfs 问题。
git lfs migrate import --include="*.csv"
Run Code Online (Sandbox Code Playgroud)
Jig*_*ani 14
我有同样的问题,但它解决了使用 filter-branch
git filter-branch --tree-filter 'rm -rf path/to/your/file' HEAD
如果你有大项目,需要一些时间,然后推动它
git push
Joa*_*uim 12
这个解决方案在 Ubuntu 20.04 上对我有用
安装 Git 大文件存储 (git-lfs)
sudo apt-get install git-lfs
git-lfs install
Run Code Online (Sandbox Code Playgroud)
要将任何预先存在的文件转换为 Git LFS,例如其他分支上的文件或之前提交历史记录中的文件,请使用 git lfs migrate 命令
git lfs migrate import --include="*.ipynb"
Run Code Online (Sandbox Code Playgroud)
选择要跟踪的文件类型
git lfs track "*.ipynb"
Run Code Online (Sandbox Code Playgroud)
更新 gitattributes
git add .gitattributes
Run Code Online (Sandbox Code Playgroud)
现在推送到 git git commit -m "commit message" git push
存储和带宽使用情况请参阅
avi*_*jee 11
我遇到了同样的问题,而我的一些 csv 文件在之前的提交中被合并,而 github 拒绝了我的推送。后来我发现这个命令对我有用。
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch fixtures/11_user_answer.json'
# for my case
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch tensorflow.csv'
Run Code Online (Sandbox Code Playgroud)
我昨天遇到了同样的问题而破解了它.我无法推动,似乎我的大文件都没有在lfs中.
可能有更好的方法,但这对我有用.我有一个2.5 gig数据的大型回购.
我设置了一个新的repo然后在其中设置lfs.
git lfs init
然后我配置了我的各种文件类型
git lfs track "*.pdb"
git lfs track "*.dll"
,然后我提交了我的更改并推送.
然后我添加了我的大文件.我使用了sourcetree,并在输出说明中说明了与我的通配符匹配的大文件,它提交的是微小的txt文件.(对不起,我没有记录这些,但应该是显而易见的).
然后我推了推,我看到'跳过文件',推送成功很快.
所以问题可能是尝试将文件添加到历史记录中已经存在的lfs中.您只能添加新文件.您可以清理这些文件的repo.
注意:我确实发现很多与我的通配符相匹配的文件没有被lfs选中.拾取了不同文件夹中的类似文件,但不是全部.我尝试使用完整路径显式添加这些文件.
git lfs track "Windows/bin/myBigFile.dll"
但这也没有帮助.最后我因时间限制而放弃了.
您还应该使用gitHub检查存储限制.我购买了额外的50gig以满足我的要求.
克隆repo现在分别下载文件,一切都运行良好.
小智 6
如果您知道哪个提交引入了大型提交,您还可以尝试使用引入 Git LFS 的后续提交来压缩该提交。
例如,如果大型提交是在三个提交之前(如 所示git status
),您可以执行以下操作:
git rebase -i HEAD~3
Run Code Online (Sandbox Code Playgroud)
然后,在交互式对话框中将第一个之后的所有“pick”用法替换为“squash”。
然后,
git push origin --force
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
远程:错误:文件client / static / static-version / 20171221_221446.psd为223.61 MB; 这超出了GitHub的文件大小限制100.00 MB
并且因为我已经从该文件夹中删除了该文件,创建了.gitignore文件并尝试提交几次,所以我不知道该文件已被缓存,因此无法推送到github。就我而言有帮助:
git filter-branch --index-filter'git rm --cached --ignore-unmatch client / static / static-version / 20171221_221446.psd'
我在其中放置了完整的文件路径(来自上述错误),将其从缓存中删除。之后,成功完成推送
归档时间: |
|
查看次数: |
25190 次 |
最近记录: |