git bash 上传文件到gitee

发布于:2022-11-05 ⋅ 阅读:(505) ⋅ 点赞:(0)

上次分享了使用git bash上传文件到github,今天更一下传到gitee
之前跟着乐哥学习了基于知识图谱的多轮对话系统,这边想把代码上传到gitee
此文记录一下上传的心酸历程哈哈哈哈

## 1.步骤一
gitee上面的用户名

$ git config --global user.name "keli_cyz"


```bash

$ git config --global user.email "3030@qq.com"


```
这里特别说明一下,这个地方的邮箱是你需要在gitee的设置的邮箱设置那里去绑定一下

如果你前面两步已经设置完成,那执行下面的代码你会看到:


```bash

$ git config --list


```

## 2.步骤二
```bash

cd (你要上传的文件位置)D:\kbqa


```

```bash

$ git init


```
```bash

$ git add .


```
```bash

$ git commit -m "初次上传"


```
这三步准备工作都和之前上传到github上面类似

## 3.步骤三
### 坑一
```bash

$ git remote add  origin https://gitee.com/keli-cyz/bqa.git


```
这里你把https://gitee.com/keli-cyz/bqa.git替换成你gitee新建的仓库的链接
注意这里会出现让你输入用户名和密码的情况,如下图所示

这里报错的原因是因为 **这里它让你输入的用户名是你之前绑定的邮箱**,而不是你的用户名,一定要小心,密码就是你登录gitee的密码了

## 4.步骤四
```bash

$ git push -u origin master -f


```
执行这一步等待一会儿,就大功告成了

但真的结束了吗?怎么敢的呀!现在就来说一下如果执行步骤四报错的情况

## 5.步骤五
**处理报错**
### 5.1情况一

这种错误是因为上传的项目过大,gitee不允许
解决办法:
```bash

$ git config --local http.postBuffer 524288000


```
这步简单来说就是增加缓存
如果你有幸执行了上面这步,那么你打开你上传项目路径里面的.git文件里面的config就可以看到如下结果:
 

### 5.2情况二
```bash

$ git push -u origin master -f


```
当你已经由于项目过大执行了5.1的代码之后,发现你再去执行push操作,还是报错,如图所示:

那恭喜你,你得删除一些大的文件了,操作如下:
```bash

$ git rev-list --objects --all | grep 2704173005554035e57d92420ea5623022fd6db0


```
上面这个代码你要换成报错里面**蓝色的那一串**,即(git rev-list --objects --all | grep **数字**),目的就是找到你需要删除文件在你上传的文件的位置,比如我,运行之后:

可以看出来我是 KBQA-for-Diagnosis/knowledge_extraction/baiduie_training_data/bert_model.ckpt.data-00000-of-00001   这个文件需要删除,那就删除

**我的做法是现在项目文件里面把那个文件删除了,然后执行力下面这个代码**
```bash

$ git filter-branch --tree-filter 'rm -f  KBQA-for-Diagnosis/knowledge_extraction/baiduie_training_data/bert_model.ckpt.data-00000-of-00001' HEAD


```
**但是报错了**
git 抱怨 “Cannot rewrite branches: You have unstaged changes.”

**这个错误解决方法是**:
```bash

$ git stash


```

再执行:
```bash

$ git filter-branch --tree-filter 'rm -f  KBQA-for-Diagnosis/knowledge_extraction/baiduie_training_data/bert_model.ckpt.data-00000-of-00001' HEAD


```
正确删除的结果如下所示:

现在再执行push就可以上传成功了!!!!!!!!!!!!!!!!
```bash

$ git push -u origin master -f


```
 

**PS(后话)**:

现在觉得其实不用自己去文件里面删除了,直接执行这串代码就行,然后再push
```bash

$ git filter-branch --tree-filter 'rm -f  KBQA-for-Diagnosis/knowledge_extraction/baiduie_training_data/bert_model.ckpt.data-00000-of-00001' HEAD


```
```bash

$ git push -u origin master -f


```


### 5.3其他错误
当你在执行删除大文件的时候出现这个错误:
 

也就是出现Cannot create a new backup.
A previous backup already exists in refs/original/
Force overwriting the backup with -f这句话的时候,说明之前曾经执行过 git filter-branch,然后在 refs/original/ 有一个备份,这个时候只要删掉那个备份即可

**解决方式:**
```bash

git update-ref -d refs/original/refs/heads/master


```
然后你再重新执行删除操作的代码
```bash

$ git filter-branch --tree-filter 'rm -f  KBQA-for-Diagnosis/knowledge_extraction/baiduie_training_data/bert_model.ckpt.data-00000-of-00001' HEAD


```
最后你再push:
```bash

$ git push -u origin master -f


```


OK啦~~~~~撒花!!!!!!!!!!!!!!
如果后续又遇到什么问题再进行补充


 


网站公告

今日签到

点亮在社区的每一天
去签到