Git LFS 入门指南.md 2.8 KB
Newer Older
BaiXuePrincess's avatar
BaiXuePrincess 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
### Git LFS 简介

> CODE CHINA 已支持 Git LFS 功能,该功能免费开放。
> 
Git LFS(Large File Storage,大文件存储)是 Github 开发的一个Git 的扩展,用于实现 Git 对大文件的支持。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021032416181974.gif#pic_center)
### 使用目的
不同于git每次保存diff,对于git来说,如果是模型或者一些设计大文件,改变一点,对于仓库来说会增加很大的体积,不一会就能几个G。
Git LFS 可以把音乐、图片、视频等指定的任意大文件资源存储在Git仓库之外,减小Git仓库本身的体积,使克隆Git仓库的速度加快,也使得Git不会因为仓库中充满大文件而损失性能。
### Git LFS 下载和安装

> 注意:安装 Git LFS 需要 Git 的版本不低于 1.8.5
> Git LFS 官网: https://git-lfs.github.com/
> CODECHINA mirror 过来Git LFS的地址:https://codechina.csdn.net/mirrors/git-lfs/git-lfs

#### Linux 系统

```bash
$ 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 install`,如果显示Git LFS initialized说明安装成功

#### MacOS 系统
1.安装HomeBrew 

```bash
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
2.安装 Git LFS

```bash
$ brew install git-lfs
$ git lfs install
```
 #### Windows 系统
1.下载安装程序 windows installer
2. 运行 windows installer
3. 在命令行执行 `git lfs install`
### 配置
配置我们要与Git LFS关联的文件类型,此信息将添加到.gitattributes 存储库中的 文件中。
将文件类型与Git LFS关联的最简单方法是通过 `git lfs track` 命令。
如将所有 jpg 文件管理到Git LFS:

```bash
$ git lfs track "*.png"
```
`.gitattributes` 文件已创建,并包含以下信息:

```bash
*.jpg filter=lfs diff=lfs merge=lfs -text
```
完美的!从现在开始,LFS将处理此文件。现在,我们可以按照以前的方式将其添加到存储库中。注意,对其他任何更改.gitattributes也必须提交到存储库,就像其他修改一样:

```bash
$ git add .gitattributes
$ git add design-resources/design.psd
$ git commit -m "Add design file"
```
### 常用 Git LFS 命令
查看 git lfs 当前正在跟踪的所有模式的列表
```bash
$ git lfs track
```
查看 git lfs 当前跟踪的文件列表
```bash
$ git lfs ls-files
```
### 取消跟踪并从LFS 删除文件
从lfs取消跟踪特定类型的所有文件,并将其从缓存中删除:

```bash
$ git lfs untrack "*file-type"
$ git rm --cached "*file-type"
```
如果要将这些文件重新添加到常规git跟踪中并提交,可以执行以下操作:

```bash
$ git add "*file-type"
$ git commit -m "restore "*file-type" to git from lfs"
```