我在Windows上使用TortoiseGit。当我试图从标准Windows资源管理器的上下文菜单克隆时,我得到这个错误:

请确保您拥有正确的访问权限并且存储库存在

更准确地说,终端的快照如下:

——progress -v "git@arobotdev:\git\AlfaRobot. exe。git”“C: \ \ AlfaRobot” 克隆到“C:\Work\AlfaRobot”… 权限被拒绝,请重试。 权限被拒绝,请重试。 权限被拒绝(公钥,密码)。 无法从远程存储库读取。 请确保您拥有正确的访问权限 并且存储库存在。 Git没有干净地退出(退出代码128)(21450 ms @ 19.09.2014 10:36:58)

我应该怎么做才能使git正常工作?


当前回答

rsa。Pub(即公钥生成),需要在github上添加>>设置>>ssh密钥页面。请检查,您没有在存储库设置>>部署密钥中添加此公钥。如果是,从这里删除条目,并添加到第一个提到的位置。

public -private key的详细设置。

这样就可以了!

其他回答

rsa。Pub(即公钥生成),需要在github上添加>>设置>>ssh密钥页面。请检查,您没有在存储库设置>>部署密钥中添加此公钥。如果是,从这里删除条目,并添加到第一个提到的位置。

public -private key的详细设置。

这样就可以了!

如果您使用的是共享机器,那么使用自己的密码或无密码私钥可能会有些过分。更安全的选项是访问令牌:

进入设置,开发人员设置,个人访问令牌 生成新的令牌。 注意标记的用途。 授予回购权限。 克隆回购:

$ git clone https://<token>@github.com/<user>/<repo>.git

如果你已经克隆了repo,你可以修改你的远程设置:

$ git remote set-url origin https://<token>@github.com/<user>/<repo>.git
$ git pull
Already up to date.

下面是我解决这个问题的方法。我在Win7/10上使用Babun(mint .exe)。当我尝试了上面提到的许多解决方案,没有一个是有效的。我意识到我可能用错了ssh代理… 所以我运行echo $GIT_SSH来查找,它显示了Plink.exe的路径。 我真正期待的是OpenSSH。

因此,我将以下一行程序添加到~/。zshrc中

注1:你也可以直接在babun中执行它 注2:如果你使用bash,那么配置文件是.bashrc

export GIT_SSH=$(which ssh)

它真的有用!

你的git URL可能已经改变了。使用如下命令修改本地目录下的URL

对于HTTPS协议

git remote set-url origin https://github.com/username/repository.git

对于SSH协议

git remote set-url origin git@github.com:username/repository.git

这个问题可能有多种原因

如果问题与您的ssh身份有关,请在这里通过@onkar-m18回答 如果ssh密钥没有添加到主机服务器,请在这里通过@lovekush-vishwakarma回答

奇怪的是,我只收到这个错误在1我的许多回购。

我的问题是在安装了新的GitHub Desktop for Windows之后,以前的旧GitHub for Win将键保存在~/中。Ssh /github_rsa和~/. Ssh /github_rsa。新的GitHub for Win期望它在~/。Ssh /id_rsa,所以解决方案只是重命名现有的私钥和公钥:

~/.ssh/github_rsa -> ~/.ssh/id_rsa
~/.ssh/github_rsa.pub -> ~/.ssh/id_rsa.pub

之后,让我再次访问回购没有问题。