今天尝试一下使用 git 提交代码到 github,参考了好几个博客,踩了好多坑,真是难受啊。这里记录一下,踩坑历史。
git 提交代码踩坑记
参看博客:
踩坑:
- 一开始没有配置 ssh
- ssh 密钥用来连接pc中的 本地仓库和github上的远程仓库
- 后来,一直是最后一步无法 push 成功
- 大文件 push 失败
下面第一部分主要记录一下,踩的这3个坑以及解决办法。
1、git 提交代码踩坑记
下午观看b站视频后,重新创建了一个新的仓库(test),跟着操作,发现早上自己的操作其实没问题(可能还是ssh配置出现的问题):
- 只 push README.md 和 test.txt 小文件是 OK 的
- 但是,一旦 push 图片就没有反应了(可能图片太大了,而且网速不好,缓冲区啥的太小,还没解决)
1.1 使用前配置 SSH
- 作用:ssh 密钥用来连接pc中的 本地仓库和github上的远程仓库;
- 一台 pc 配置一次 SSH 就行了,换电脑后应该要重新配置
具体配置 SSH 过程:
- 查看
c:/user/用户名/.ssh
目录,如果包含以下三个文件,说明当前 pc 已经有 ssh;- id_rsa
- id_rsa.pub(这个需要复制到github 远程仓库的 ssh 中)
- known_hosts
- 如果不包含以上 3 个文件,第一次生成 SSH :
ssh-keygen -t rsa -C "youremail"
- 然后,将本地 SSH 复制到 github 的 ssh 中即可。
- 测试 ssh是否配置成功:
ssh -T git@github.com
出现以下信息时,表示 “配置 SSH 成功”。
1.2 配置个人信息
首次使用 git 时,需要配置个人信息
- 配置 username:git config --global user.name “your_username”
- 配置 email:git config --global user.email “your_email”
1.3 选用 SSH 连接
- 将本地仓库与远程 github 仓库关联时,选用 SSH 连接
- ssh:git remote add origin git@github.com:****/imgs.git
- push 小文件(README.md 和 test.txt)是 ok
- push 图片就又 push 不动了(可能图片太大了,而且网速不好,缓冲区啥的太小,还没解决)
- ssh:git remote add origin git@github.com:****/imgs.git
- 使用 http 关联时,push 直接没有反应:git remote add origin https://github.com/***/imgs.git
![提交图片报错信息](https://img-blog.csdnimg.cn/20210711171347955.png
1.3 大文件 push 失败
- 大文件 push 失败
- github push 时有文件限制,一个仓库 max 容量为 1G
- 当push 因存在大文件,而导致push失败时,需要进行回退:
- 使用
git log
查看 commit 日志,获取commit_id
; - 从后向前,将带有大文件的 commit 记录依次回退:
git reset commit_id
- 使用
2、提交代码
将工作区初始化为本地仓库
将工作区文件提交到缓冲区
缓冲区 -> 本地仓库
本地仓库 -> github 远程仓库
将本地仓库和远程仓库关联
- 配置本地ssh和远程github 的ssh(同上)
- 关联操作:
git remote add origin git@github.com:github远程仓库名
- 将本地仓库提交到远程仓库
第二次提交
整体提交代码如下:
git init # 初始化本地仓库
git add . # 将工作区文件添加到缓冲区
git commit -m "first commit" # 将缓冲区文件commit到本地仓库
git remote add origin https://github.com/xsUmbrella/imgs.git # 将本地仓库与远程仓库关联
git push -u origin master # 将本地仓库文件 push 到远程仓库
注意:每步操作后,可使用
git status
查看状态.
保持本地仓库与远程 fork 仓库一致
git pull origin master
3、其他操作
-
删除之前关联的远程仓库:
git remote rm origin
-
更改远程关联仓库:
- 最好,重新建立一个新的
工作区
。然后,重新关联。两个工作区
之间最好不要互相影响。
一开始,是先使用
git remote rm origin
删除之前关联的test
仓库,再关联imgs
仓库内。但是,这样直接蹦了,导致两个仓库都不能 push 了。后来,把github仓库都删了,重新建的
imgs
仓库。本地仓库也删了重建,就 ok了。 - 最好,重新建立一个新的
终于,提交成功了…
注意:没事不要删除本地仓库
.git
中的的文件,不要将当前本地仓库配置不同的远程仓库。
删除 github 远程仓库
如何用 git 在两台电脑提交到同一个 github 账户
保持公钥&私钥一致即可。即,将一台电脑的
.ssh
下的三个文件拷贝到另一台电脑即可
如何用 git 提交代码到同一个邮箱注册的 github 和 Gitee账户
将电脑中的
id_rsa.pub
复制到 github 和 Gitee中,即可
踩坑:
- github 测试 ssh 是ok的,但是 gitee 测试不过
错误原因: - 好像是在
known_hosts
的锅
参考博文:
提示信息处,输入 “yes"之后就好使了
其他错误
由于网络原因,无法
push
和pull