How to push/pull large files to GitHub
当 GitHub 上传的文件超过 100M 时,无论是使用网页端还是本地端都会出现 push error 的问题,而如果我们在本地配置 Git LFS (Git large file storage),就可以使用文件指针的方式存储大型文件
Git LFS 官方网站: https://git-lfs.github.com/
Git LFS
- GitHub LFS是一个开源的git扩展,可以让git追踪大文件的版本信息。LFS使用文件指针来代替大文件,如音频文件,视频文件,数据采集和图形等文件,同时将文件内容存储到远程服务器,比如GitHub.com或者GitHub Enterprise。LFS是GitHu所支持的一种完全免费的服务,目的是让git能跟踪大文件。
配置 Git LFS
Ubuntu 安装
- 执行 terminal 安装指令
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
- 测试安装
git lfs
Mac OS 安装
- 先配置 Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
What Does Homebrew Do?
Homebrew installs the stuff you need that Apple (or your Linux system) didn’t.
Homebrew website: https://brew.sh/
- Terminal 安装
brew install git-lfs
- 目录初始化
git lfs install
配置本地 .gitattributes 文件
一旦在 git 本地目录中包含了 .gitattributes 文件并 track,那么在每次 push 时都会将 .gitattributes 文件中指定的文件改变为 lfs 上传
- 选择你需要上传的LF类型进行 track ,比如 .psd 文件( 众所周知,psd 文件是Adobe Photoshop的专用图片处理文件,属于LF文件之列)
git lfs track "*.psd"
- 将 .gitattributes 文件 track
git add .gitattributes
接下来,我们就可以正常进行 push/pull 操作,而在当前目录下的LF则会进行文件指针上传。