突破GitHub的限制,使用 git-lfs(Git Large File Storage) 支持单个文件超过100M

LFS 并不能像”变魔术一样”处理所有的大型数据:它需要记录并保存每一个变化。然而,这就把负担转移给了远程服务器 - 允许本地仓库保持相对的精简。

为了实现这个可能,LFS 耍了一个小把戏:它在本地仓库中并不保留所有的文件版本,而是仅根据需要提供检出版本中必需的文件。

但这引发了一个有意思的问题:如果这些庞大的文件本身没有出现在你的本地仓库中….改用什么来代替呢? LFS 保存轻量级指针中有真实的文件数据。当你用一个这样的指针去迁出一个修订版时,LFS 会很轻易地找到源文件(不在他上面可能就在服务器上,特殊缓存)然后你下载就行了。

因此,你最终只会得到你真正想要的文件 - 而不是一些你可能永远都不需要冗余数据

# 1、安装git-lfs,brew install git-lfs

# 2、进入你的本地仓库,执行 git lfs install

# 3、没有特别说明的情况下,LFS 不会处理大文件问题,因此,我们必须明确告诉 LFS 该处理哪些文件。执行 git lfs track "*.exe" /* .exe  可以替换成你要上传的后缀名 如.pdf格式的*/

# 4、执行 git add .gitattributes

# 5、执行 git add my_large_file.exe /* 上传你打算要上传的大文件*/

# 6、执行 git lfs ls-files

# 7、git commit -m "Add the large file"

# 8、git push origin master /*分支名*/

目前来说,支持GitHub、GitLab、Coding。gitee(也就是git.oschina.net)目前还不支持。

Tip:如果需要拉取大文件时,需使用git lfs pull命令

下次上传时,删除 track 的文件 (已经commit的文件)

git rm 要忽略的文件

git commit -a -m "删除不需要的文件"

你可能感兴趣的:(突破GitHub的限制,使用 git-lfs(Git Large File Storage) 支持单个文件超过100M)