git 可以向远程仓库pull,但是不能向远程仓库push

1.为什么我在远程新建的仓库,只能pull.不能push.

Counting objects: 17, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (16/16), done.
Writing objects: 100% (17/17), 2.92 KiB | 0 bytes/s, done.
Total 17 (delta 9), reused 0 (delta 0)
error: Unable to append to ./logs/refs/heads/master: Permission denied
To git@192.168.1.94:/home/gitrepo/renhang.git
 ! [remote rejected] master -> master (failed to write)
error: failed to push some refs to 'git@192.168.1.94:/home/gitrepo/renhang.git'
阅读 12.6k
5 个回答
error: Unable to append to ./logs/refs/heads/master: Permission denied

提示权限不够,请检查下本地仓库目录的权限

你可以pull但不能push,可能是因为还没有设置本地的SSH keys,所以git认为你在pull别人的东西,因为是开源的,所以可以随便pull;但是git认为你没有获得权限,所以不让你push去修改别人的东西。

具体可以:点击Settings,点击SSH and GPG keys去设置本地的权限。

从你的push的提示信息可以看出你使用的是ssh协议,所以push失败的原因有两个:

  • 没有配置ssh key

  • 权限不够
    但是由于是你创建的仓库,所以你是有足够权限的,因此只有一个原因就是没有配置ssh key。

这时问题就来了,你竟然pull成功了!?如果你没有配置ssh key的话,当你pull的时候使用的是ssh协议的话,也是无法pull成功的。所以我有两个猜测:

  • 你可能没有pull成功,只是你以为成功了,建议检查本地是否与远程一致

  • 你pull的时候使用的不是ssh协议,而是https协议

另外,你也可以试下push的时候使用https协议,看一下是否成功。我建议楼主在问题中应该加入自己做了哪些尝试,这样我们也好分析问题,对症下药。

检查 user.nameuser.email 是否正确

git config -l 

Permission denied 权限问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题