git无法push 到 服务器

发现git gui 和 git bash 均无法push 到 服务器。

ssh -T git@github.com
git@github.com: Permission denied (publickey).


问题

使用ssh-add时报错

 
  1. PS D:\code> ssh-add -l

  2. Error connecting to agent: No such file or directory

处理步骤

  • 检查ssh-agent服务是否启动成功
 
  1. PS D:\code> get-service ssh*

  2. Status Name DisplayName

  3. ------ ---- -----------

  4. Stopped ssh-agent OpenSSH Authentication Agent

  • 发现ssh-agent服务状态为 stopped,启动服务
 
  1. PS D:\code> Set-Service -Name ssh-agent -StartupType Manual

  2. PS D:\code> Start-Service ssh-agent

  • 执行ssh-add命令检查是否成功
 
  1. PS D:\code> ssh-add -l

  2. 2048 SHA256:Dw8iD5trSzInnsmmDpaXBusdfL2K3wM3b+GMulKNHbAU C:\Users\Administrator\.ssh\xxx-pc (RSA)

  3. 2048 SHA256:Mb4qKSueS8bqNALm3423eD98KdTIuEwnLvfVWTNPCusg C:\Users\Administrator\.ssh\yyy (RSA)

我实际在cmd中测试 ,在powershell中识别ssh-add.

ssh-add ./.ssh/id_rsa
Identity added: ./.ssh/id_rsa (xxxxx@xxxx.com)

ssh-add -l
3072 SHA256:GGYpp6ClVY0iN+4lMKnuVfoPhLxYT+jBSPeRJZGTHZQ xxxx@xxxx.com (RSA)

发现仍然不可以。

跟同事沟通,发现我推送到git仓的方式是https方式,导致push失败。应该使用ssh。

命令
git-remote - Manage set of tracked repositories(管理被追踪的仓库集合)
1
概要
git remote set-url [--push] <name> <newurl> [<oldurl>]
git remote set-url --add [--push] <name> <newurl>
git remote set-url --delete [--push] <name> <url>

修改远程仓库的url只是这个命令的一个功能。

所以,要修改远程仓库,只需要进入代码目录:

git remote -v
# 查看当前的远程仓库

git remote set-url origin https://where you want to put your repository to.git
# 修改为想要设置的远程仓库

git remote -v
#验证一下

最后发现可以push了 

 git push origin fixSonar
Enumerating objects: 17, done.
Counting objects: 100% (17/17), done.
Delta compression using up to 8 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 1.84 KiB | 377.00 KiB/s, done.
Total 9 (delta 7), reused 0 (delta 0), pack-reused 0
remote:
remote: To create a merge request for fixSonar, visit:
 

结论就是 git访问方式导致的问题。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值