Github Mac许可问题

时间:2014-07-30 21:39:56

标签: macos git github ssh

我正在使用最新的Github for Mac作为新的Git用户。当我尝试同步一个repo(我首先克隆,然后创建一个新分支,提交更改,然后与master合并)时,我收到了错误:

Authentication Failed.

You may not have permission to access repo111. Check Preferences to make sure you’re still logged in.

我搜索了类似的问题,但答案似乎是添加了SSH密钥到github,所以我跟着:https://help.github.com/articles/generating-ssh-keys

当我ssh -T git@github.com时,我得到:

Hi User111! You've successfully authenticated, but GitHub does not provide shell access.

我以正确的用户身份登录,并拥有回购权限,所以我不确定为什么我没有通过身份验证?

6 个答案:

答案 0 :(得分:26)

可能是您输入的密码不正确,并且存储在您的钥匙串中。

对于我的情况,我使用GitHub for Mac来处理BitBucket存储库。长话短说,我错误输入了我的BitBucket密码,GitHub for Mac无法进行身份验证(因为存储在我的钥匙串中的密码错误)。

感谢helpful folks at GitHub,他们在我寻求帮助时迅速做出了回复:

  

打开Keychain Access.app(在/Applications/Utilities中)并搜索" GitHub for Mac。"应该有一个类似" GitHub for Mac的条目 - bitbucket.com"。删除该条目


如果使用GitHub for Mac管理BitBucket存储库

,则需要修复的步骤

如果你看到这个:

enter image description here

...那么您可能会遇到 BitBucket 钥匙串/密码问题。

打开Keychain Access.app(在/Applications/Utilities中)并搜索bitbucket

enter image description here

右键点击该条目并获取信息:

enter image description here

点击"访问控制"确认它是真正的GitHub for Mac BitBucket密码/登录钥匙串项目:

enter image description here

我没有删除钥匙串条目/项目,而是编辑了我的密码:

enter image description here

您现在应该可以在没有身份验证失败的情况下使用GitHub for Mac。 :)

答案 1 :(得分:17)

有同样的问题,但这不是密码问题,因为其他存储库工作正常。

最后将.git/config与工作存储库进行了比较,发现了:

这失败了:

[remote "origin"]
  url = github@github.com/path/to/repository

这有效:

[remote "origin"]
  url = https://github.com/path/to/repository

仍然不知道改变的方式或原因。

答案 2 :(得分:7)

在上述解决方案没有为我解决之后,我不得不尝试其他一些东西。

不知道为什么我遇到这个问题,或者为什么在以后解决了这个问题:

  1. 删除现有密钥:
  2. .ssh/github-rsa .ssh/github-rsa.pub

    1. 重新启动GitHub Desktop,它会自动重新生成密钥
    2. 向repo主机添加新密钥(bitbucket等)

答案 3 :(得分:2)

我遇到了同样的问题,然后我按照以下步骤操作:

  1. 登录BitBucket并转到您要使用的存储库 单击“克隆”按钮,然后将下拉选项更改为HTTPS。
  2. 复制出现的命令(类似于:git clone https://username@bitbucket.org/team-name/repository-name.git) 在Mac中打开终端并导航到您希望存储主题文件的位置。
  3. 将克隆命令粘贴到终端中,按enter键,然后在请求时输入密码。
  4. 在Github for Mac中,转到存储库屏幕,然后单击状态栏中的+号。
  5. 选择“添加本地存储库” - 然后选择要添加的文件夹的存储库。
  6. 完成

答案 4 :(得分:0)

如果您的密码正确并且您仍然发现此问题,那么您的.git / config文件可能会有一些未命中的配置。

在我的情况下,它在[remote" origin"]下有一个pushurl值,这是不需要的(我正在处理一个克隆项目)。

通过在它之前添加#来注释该行,你很高兴:)

另外,如果您收到错误消息:

  

此存储库是为Git LFS配置的,但是' git-lfs'在你的道路上找不到。如果您不再希望使用Git LFS,请删除.git / hooks / pre-push

删除此挂钩

通过执行

删除它
  

rm .git / hooks / pre-push

现在你已经准备好了。这也发生在我身上,使用github桌面应用程序用于mac,带有远程bitbucket repo。

提示:如果您提交更改并刷新bitbucket以查看更改,那些可能不会显示,但导航到项目的根目录然后返回到文件,您将看到更改。可能是一些缓存问题,但如果你不知道这个提示,它会让你发疯。

答案 5 :(得分:0)

如果您在GitHub上创建了远程存储库并与本地存储库或项目合并。 您可以将该本地存储库添加到GitHub桌面应用程序 而不是去存储库>存储库设置>远程>

在远程下你会找到主远程存储库(原始) 有一个ssh远程网址删除和

  1. 转到您的GitHub帐户。
  2. 打开远程存储库
  3. 点击克隆或下载
  4. 复制https网址
  5. 将其粘贴到GitHub桌面应用
  6. 点击桌面GitHub应用程序中的提取
  7. 它会很棒:)