git可以add,pull, 不可以push的问题解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git可以add,pull, 不可以push的问题解决相关的知识,希望对你有一定的参考价值。

参考技术A 换了工作环境的网络后,有时候git无法push,但是可以正常add, commit,pull等操作

没有修改github上面的ssh key,但是有的时候会偶尔可以push

无法push的报错信息如下,显示没有权限。

重新生成ssh key等方法都没有效果

根据提示发现是服务器切换了内部ip地址,因此需要在known_hosts文件夹中重新设置ip。

1.首先通过git bash cd 进入.ssh文件夹,该目录下共有4个文件,分别为config,id_rsa,id_rsa.pub,known_hosts(如果没有可以手动创建)

如果没有config后面可以vi新建一个

2.rm删除id_rsa,id_rsa.pub

3.在config文件最后一行添加StrictHostKeyChecking no语句

或者可以不加这一句            UserKnownHostsFile /dev/null

4.打开git命令行窗口重建秘钥

ssh-keygen -t rsa -C "xxx@xxx.com"

5.这时,在known_hosts文件中会发现多了一些数据,然后将新生成的id_rsa.pub内容复制到git网站的SSH KEY中, 注意要连前面的ssh-rsa也要复制上,且最后邮箱位置不要有空格,否则无法成功。

6.在命令行中输入:git remote show origin

若输出我们配置的origin信息,表示问题已经解决,接下来便可以通过git命令clone或push仓库数据。

如果是第一次在window中配置git,可按照以下步骤配置:

1.在需要建立关系的文件夹下打开git命令行窗口(在该文件夹下点击鼠标右键)

2.初始化git:git init

3.配置个人信息:git config --global user.email "xxx@xxx.com"

git config --global user.name "xxx"

接下来的步骤与上面第4步开始的步骤相同。

但是过了一会,又出现了上面的问题,发现不是ssh key的问题,google后发现如下:

可能是网络环境禁用了port 22,可以切换到https传输

具体操作 git config --local -e

将url种ssh的地址切换为http形式

url = git@github.com:username/repo.git

url = https://username@github.com/username/repo.git

然后退出push成功

软件安装git push/pull 超时问题解决

在有些网络下使用 git push/pull 命令操作 github 代码时候,会出现类似 timeout 等超时问题,这时可以在终端利用 git config 命令挂上代理,具体命令如下:

git config --global http.https://github.com.proxy socks5://127.0.0.1:****

**** 是当前代理的端口号,具体可以通过查看自己的代理来获得

以上是关于git可以add,pull, 不可以push的问题解决的主要内容,如果未能解决你的问题,请参考以下文章

02_创建Git仓库,克隆仓库,git add,git commit,git push,git pull,同行冲突,不同行冲突的结局方案,git mergetool的使用

git push/pull 对应分支

第二章-第二题(练习使用git的add/commit/push/pull/fetch/clone等基本命令)--王喆

第二章-第二题(练习使用git的add/commit/push/pull/fetch/clone等基本命令)-By郭青云(未完待续)

第二章-第二题(每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。)--by侯伟婷

在Idea中使用git从远程仓库pull和push文件