轉(zhuǎn)自:http://www.liuxiao.org/2017/02/git-處理-github-不允許上傳超過(guò)-100mb-文件的問(wèn)題/
記錄一下自己工作時(shí)遇到的問(wèn)題,免得下次再遇到了還到處網(wǎng)上查資料解決。
自己的項(xiàng)目的版本控制用的是Git,代碼倉(cāng)庫(kù)在github托管。項(xiàng)目里用到了百度導(dǎo)航SDK,由于百度導(dǎo)航SDK太大,于是上傳是的時(shí)候報(bào)錯(cuò): this exceeds GitHub's file size limit of 100.00 MB ?然后自己百度搜索了一下 找到了一個(gè)不錯(cuò)的解決方法
1、移除錯(cuò)誤緩存
首先應(yīng)該移除所有錯(cuò)誤的 cache,對(duì)于文件:
例如對(duì)于我的例子就是這樣的
git rm --cached -r /Users/xxx/Desktop/xxx/BaiduNaviSDK/libbaiduNaviSDK.a
2、重新提交:
編輯最后提交信息
git commit --amend
修改 log 信息后保存返回.
重新提交:
git push
3、將大文件加入 Git Large File Storage:
1)首先安裝 git-lfs
brew install git-lfs
2)將想要保存的大文件 “路徑” 或者 “類型” 添加進(jìn) track:
例如對(duì)于我的例子就是這樣的:
git lfs track "libbaiduNaviSDK.a"
* 需要注意的是這里面僅能添加類型的擴(kuò)展名或者文件名作為跟蹤方式,不可以添加路徑或者目錄進(jìn)行跟蹤。
4、將想要保存的大文件正常添加進(jìn) git:
例如對(duì)于我的例子就是這樣的:
git add?/Users/jinyabin/Desktop/xxx/BaiduNaviSDK/libbaiduNaviSDK.a
5、正常進(jìn)行提交&推送:
git commit -m "Add design file"
git push origin master
補(bǔ)充技巧:
提交以后出錯(cuò)再進(jìn)行上面的步驟可能比較麻煩,如果你已知自己提交的版本庫(kù)中確實(shí)存在一些大于 100MB 的文件,不妨先搜索:
find ./ -size +100M
然后將這些文件移除,等待其他文件提交完后再?gòu)?fù)制回來(lái),這樣只需要從步驟3的操作開(kāi)始就可以了。
常見(jiàn)問(wèn)題:
1、錯(cuò)誤:fatal error: unexpected signal during runtime execution
goroutine 23 [chan receive]:
github.com/github/git-lfs/lfs.ScanRefsToChan.func2(0xc8200d4540, 0xc8200c6000, 0xc8200d45a0)
/Users/rick/go/src/github.com/github/git-lfs/lfs/scanner.go:153 +0x4e
created by github.com/github/git-lfs/lfs.ScanRefsToChan
/Users/rick/go/src/github.com/github/git-lfs/lfs/scanner.go:160 +0x30c
出現(xiàn)這個(gè)問(wèn)題通常是由于 go 引擎未安裝或者版本太老(1.5.1及以下版本在 Mac 上面有未知錯(cuò)誤),或者 git-lfs 版本太老。如果沒(méi)有安裝 go,可使用如下命令安裝:
brew install git-lfs
然后使用如下命令升級(jí):
brew update
brew upgrade go
brew upgrade git-lfs
然后使用如下命令查看:
git-lfs version
我這里的版本號(hào)如下,如果你比我的版本高就對(duì)了,否則可以嘗試卸載之前安裝的 go 和 git-lfs 重新安裝:
git-lfs/1.5.5 (GitHub; darwin amd64; go 1.7.4)
作者:微笑掩飾所有的悲傷
鏈接:http://www.itdecent.cn/p/75d7055b59c0
------------------------
ps,自己安裝遇到的問(wèn)題
-bash: brew: command not found
mac 終端下,執(zhí)行以下命令,即可安裝brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
在終端環(huán)境下,brew --version 查看brew的版本,也可以驗(yàn)證brew是否安裝成功
---------------------