参考 (https://blog.csdn.net/generallizhong/article/details/94014779)
1. 在项目文件夹下输入git init把这个文件夹变成Git可管理的仓库
git init
出现.git
2. 远程连接github
创建SSH KEY
ssh-keygen -t rsa -C "youremail@example.com"
### id_rsa 和id_rsa.pub 保存到.ssh 文件夹中
复制id_rsa.pub中的内容到 github
登录github账号
右上角图标 ------ settings----------SSH and GPG keys------New SSH key
3. 在Github上创建一个Git仓库
建立New repository
code --------ssh ------ 获得 git@github.com :xxxxxxx.git
4. 关联github和本地仓库
##关联 git init
git remote add origin git@github.com :xxxxxxx.git
ssh -T git@github.com #查看是否连接成功
##添加上传的文件
git add . ## 文件夹下文件全部提交(.)
##单个文件上传git add 文件名
##提交完成查看状态git status
##提交项目命名git commit -m 注释
#上传
git push --set-upstream origin master
报错,部分文件过大
5 先上传其他大小合格的文件,大文件使用Git LFS上传
需要去除上传失败的大文件缓存
git rm --cached 文件路径
git rm -r --cached 文件路径
git rm -rf --cached 文件
对于文件夹:git rm --cached -r path_of_a_giant_dir
修改commit
git commit --amend -CHEAD
重新提交:git push
以下两个命令在网上搜到,但是报错:
git filter-branch -f --index-filter 'git rm -rf --cached --ignore-unmatch dist/prPred/libmkl_avx2.so' --all
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch YOUR-FILE'
上传成功后,进入远程github处理请求
6.然后使用Git LFS 上传其余大文件
1.安装
sudo apt-get install git-lfs初始化:git lfs install
2.追溯文件 ###git lfs track
###git lfs track "file " #需要注意的是这里面仅能添加类型的扩展名或者文件名作为跟踪方式,不可以添加路径或者目录进行跟踪
git lfs track "libbaiduNaviSDK.a"
3. 添加文件
git add /Users/jinyabin/Desktop/xxx/BaiduNaviSDK/libbaiduNaviSDK.a
git add .gitattributes
git add .
git commit -m 备注信息
git remote add origin git@github.com:xxxxx/xxxxxx.git
git push
其他报错
使用Git LFS后仍报错error: Large files detected.解决办法
##查看记录
git log
##复制上一个正常的commit_id,重新设置ID (hard后面一串数字)
git reset --hard 845ba7cbd435d94978faf86e76860d5aba26c1f7
git push origin HEAD --force
git lfs track ".h3f"
git add .gitattributes
git add .
git commit -m " aaa"
git remote add origin git@github.com:xxxxx/xxxxxx.git
git push
报错: fatal: refusing to merge unrelated histories
git pull origin master --allow-unrelated-histories
git push --set-upstream origin master
报错:Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
git pull origin master