我在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正常工作?


当前回答

使用您的HTTPS源而不是SSH url

例子:

git remote add origin  https://gitlab.com/user/folder.git

其他回答

你的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

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

对我来说,它给出了相同的错误:

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

一个快速的解决方法是消除~/。ssh / config文件

mv config config_old && touch config

eval "$(ssh-agent -s)"

git clone your_repo

因为它原来是配置文件被损坏,并配置了两个id

我在上传项目到gitlab时遇到了这个错误。我没有从git克隆,而是上传项目。要将代码推送到gitlab,有两种方法:使用ssh或https。如果你使用https,你必须输入用户名和密码的gitlab帐户。为了推动你的代码到git,你可以使用下面的一个。

第一次推到Git

>$ cd
>$ mkdir .ssh;cd .ssh
>$ ssh-keygen -o -t rsa -b 4096 -C "email@example.com"

-C参数是可选的,它在键的末尾提供了一个注释,如果您有多个键,则可以将其与其他键区分开来。 这将创建id_rsa(您的私钥)和id_rsa。Pub(您的公钥)。我们传递我们的公钥,并保留我们的私钥——嗯,是私有的。在Gitlab的用户设置中,您可以将您的公钥添加到您的帐户,从而允许我们最终推送。

在项目位置(目录)中使用以下命令

git init

它将当前目录转换为Git存储库。这将在当前目录中添加一个.git子目录,并使开始记录项目的修订成为可能。

使用https路径推送

git push --set-upstream https://gitlab.com/Account_User_Name/Your_Project_Name.git master

使用ssh路径

git push --set-upstream git@gitlab.com:Account_User_Name/Your_project_Name.git master

—set-upstream:告诉git到原点的路径。如果Git之前推送过当前的分支,它会记住原点在哪里

master:这是初始化时我想推到的分支的名称

您正在尝试通过ssh: git@arobotdev..克隆存储库。,并且您的SSH密钥在服务器上没有正确设置。原因有很多:

您的公钥可能没有保存在用户git的authorized_keys文件中 如果1不为真,则“您的私钥不保存在您的HOMEDIR的。ssh/文件夹中”。 权限设置不正确

如果以上三点都不属实,那么我唯一的结论就是: git@arobotdev: AlfaRobot.git 假设AlfaRobot。git在git用户的HOMEDIR目录下,而不是在git用户的HOMEDIR目录下的名为git的文件夹中。