我有一个SVN repo,其中包含超过GitHub大小限制的大文件(130MB)。我已将SVN repo导入到本地git仓库但我无法将其推送到GitHub,因为该大小限制。当我尝试推送GitHub警告我的大小限制,并建议我使用Git大文件存储。我已经为rar文件安装并启用了大文件支持,但我仍然无法以同样的理由推送它。
在获取SVN repo之前我是否必须启用大文件支持?如果文件大小超过最大限制,我是否需要启用大文件支持GitHub会拒绝它吗?
更新:
我知道如何在新的repo上使用Git Large Files但是如何在导入SVN repo时使用它?以下是否有效:
git svn clone --no-metadata svn://hostname/path dest_dir-tmp
git lfs track "*.zip"
git lfs track "*.rar"
git lfs track "*.apk"
git lfs track "*.exe"
git svn fetch
我在尝试之前问这个因为这个repo包含大约3500个提交,并且花费了太多时间来获取它。
答案 0 :(得分:3)
说实话,Git / Github用于文件的版本控制,不应该用于存储二进制文件或压缩文件,因为它们无法正确版本化。 例如,对zip / rar文件内容进行少量更改会导致整个文件发生更改。
我对github的建议是将它作为外部依赖关系从其他地方链接,并使用构建/依赖管理系统,如composer.phar,Phing,NPM,bower,gradle,maven,ivy或Pip来处理这些资源。 使用github存储依赖项配置和/或挂钩,然后可以使用它来在构建时检索资源。
https://help.github.com/articles/what-is-my-disk-quota/#external-dependencies https://help.github.com/articles/working-with-large-files/
当我尝试从特定提交创建分支时,在每天提交数月之后,我只能恢复部分存储的zip文件时,我必须以这种方式学习我的课程。 可悲的是,Git并不打算跟踪二进制文件。
有关您的具体问题的更多信息: https://help.github.com/articles/versioning-large-files/
安装Git LFS后,您需要将其与大文件关联 在您的存储库中。 Learn More
git rm --cached path/to/file.zip
git lfs track "*.zip"
git add path/to/file.zip
git commit -m"Staging file as committed"
git push origin master