Github Mac 权限问题

Posted

技术标签:

【中文标题】Github Mac 权限问题【英文标题】:Github Mac Permission Issue 【发布时间】:2014-09-22 17:21:35 【问题描述】:

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

Authentication Failed.

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

我搜索了类似的问题,但答案似乎是在github上添加SSH密钥,所以我关注了: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.

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

【问题讨论】:

你能展示你用来与 GitHub 通信的不同命令或 URL 吗? 【参考方案1】:

如果您的密码正确,但您仍然看到此问题,那么您的 .git/config 文件可能有一些未配置的配置。

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

在该行之前添加一个 # 来注释该行,然后您就可以开始了 :)

此外,如果您收到错误提示:

此存储库已针对 Git LFS 进行了配置,但在您的路径中未找到“git-lfs”。如果您不再希望使用 Git LFS,请通过删除 .git/hooks/pre-push 来移除此钩子

直接删除即可

rm .git/hooks/pre-push

现在一切就绪。这也发生在我使用 github 桌面应用程序 for mac,带有远程 bitbucket 存储库。

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

【讨论】:

【参考方案2】:

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

在remote 下你会找到主要的远程仓库(origin) 有一个 ssh 远程 url 删除那个 And

    转到您的 GitHub 帐户。 打开您的远程存储库 点击克隆或下载 复制 https 网址 将其粘贴到 GitHub 桌面应用程序中 在桌面 GitHub 应用中点击 fetch 它会很好用 :)

【讨论】:

【参考方案3】:

在上述解决方案对我不起作用后,我不得不尝试其他一些方法。

不知道为什么我会遇到这个问题,或者为什么在之后得到了修复:

    删除现有密钥:

.ssh/github-rsa .ssh/github-rsa.pub

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

【讨论】:

这对我有用,但我还必须删除我的 GitHub 帐户中随时间生成的所有现有 SSH 密钥。不知何故,GitHub Desktop 被同一台计算机的多个密钥卡住了。【参考方案4】:

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

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

这失败了:

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

这行得通:

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

仍然不知道如何或为什么会发生这种变化。

【讨论】:

这似乎随机发生在我三分之一的存储库中。我不知道为什么,很奇怪。感谢您的修复! 唯一对我有用的东西;谢谢!我的有点不同,原始路径看起来更像这样:git@github.com:path/to/repository 所以我不得不将冒号更改为正斜杠以匹配您的第二个路径。 如果你在 OSX 上并且你的 repo 在 github 上,这是最好的答案,谢谢@Nik。知道为什么会这样吗? @msmfsd - 不,没有线索。不过从那以后我就再也没有发生过。 在 Fork for Mac 上遇到了同样的问题,这很有效!谢谢【参考方案5】:

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

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

【讨论】:

这对我有用。谢谢!【参考方案6】:

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

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

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

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


使用 GitHub for Mac 管理 BitBucket 存储库时的修复步骤

如果你看到这个:

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

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

右键单击条目并获取信息:

单击“访问控制”以确认它确实是 GitHub for Mac BitBucket 密码/登录钥匙串项:

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

您现在应该能够使用 GitHub for Mac 而不会出现身份验证失败。 :)

【讨论】:

天哪。哇。如此微小的编辑,但非常隐蔽。非常感谢。

以上是关于Github Mac 权限问题的主要内容,如果未能解决你的问题,请参考以下文章

Mac OS操作------GitHub权限问题

Mac OS操作------GitHub权限问题

Mac OS操作------GitHub权限问题

如何在 Mac OSX EACCES 上修复:权限被拒绝...您无权访问此文件

Mac 终端提示 Permission denied 权限问题

MAC电脑安装cocoapods ruby 2.6.0 权限问题