前言
- 如何创建/克隆/提交项目
- 一些常用的Git命令
- git问题记录~443、10053、10054、 failed to push等等等
如何创建/克隆/提交项目
- 创建github远程仓库时,不创建README.md文件(以免和本地的空仓库冲突,还要先拉取一次再提交)
- 有SSH和HTTPS两种连接方式,确认自己选的是哪种。
- (如果是Https,一般是要使用【远程仓库(如github/gitee)】的用户名和密码登录)
- 确认文件都已经提交到本地仓库了。
git init git add . git commit -m "首次提交"
- 对于新手 Git本地仓库与远程仓库关联的方法详细版
- 在创建新项目时,最好是先把本地与远程仓库关联设置好了,再去开发或者修改文件。
- 对于老项目,本地没有仓库时:在本地文件夹使用git clone指令将远程仓库clone到本地后进行开发。
常用git命令
git clone 获取指定指定分支的指定commit版本
第一步: git clone [git-url] -b [branch-name]
第二步(返回到指定的版本):git reset --hard [commit-number]
git restore撤销在工作区的修改
git restore filename
撤销工作区指定文件的修改git restore .
撤销工作区的所有文件的修改(慎用)
参考
问题
1. error: failed to push some refs to‘远程仓库地址’。
原因:本地与远程仓库内容冲突。(比如远程仓库初始化时创建了README.md,本地项目中没有先同步)
简单理解:远程仓库空,本地仓库可以有文件;本地仓库空,远程仓库可以有文件。
解决方法::
- 远程仓库创建时不要勾选创建README.md(或者把它删了),让它是空仓库。
- 把远程仓库的文件拉取到本地,让本地仓库状态与远程的一致。
git pull --rebase origin master
需要注意:从远程仓库拉取文件时,是会覆盖掉本地文件的。(所以此时本地是空仓库才好)
参考:error: failed to push some refs to如何解决
2.OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
原因:无法连接上github
解决方法:
- 对我无效:参考里的一些解决方案
- 打开/关闭代理(有的说要打开有的说要关闭,同时还要在git里也设置对应的config。)
- 重开新的终端
- 对我有效的:把远程仓库地址从HTTPS换成SSH的就可以了。
git remote -v //查看remote地址
git remote remove xxxx //移除远程连接
git remote add origin git@github.com:xxxx.git //重新设置远程连接
算是一个新思路:如果HTTPS不行,就试试使用github的SSH的地址。
3.error RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 以及 OpenSSL ssL_read: Connection was aborted,errno 10053
原因:两个问题比较类似,有可能是要上传或者拉取的文件太大了。(超过100m)
而使用HTTPS时,它大小有限制,需要设置。
解决方案:
- 换成SSH地址 (我试了,这2个问题没出现了)
- 增大缓存大小:
git config http.postBuffer 524288000
(我试过也没啥效果= =)
参考:10054的几种解决方案 (其中有个使用GitHub提供的客户端工具的方法)
10053的解决方案
4.error object file is empty , The remote end hung up unexpectedly
git数据损坏后一个比较简单的方法
参考
5.小程序gitpush时出现:Push failed Error: invalid authentication scheme
原因:gitclone的项目,没有在微信开发者工具上修改对应的认证信息。
6.Git报错-Everything up-to-date
可能原因:
1)没有git add;
2)git add 了,但忘了git commit -m “提交信息”。
补上即可。
参考
7 git使用中 error: pathspec ‘XXX‘ did not match any file(s) known to git 报错解决方法
可能是用新分支时会有的问题(影响不深了,下次遇到再补充)
参考