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 OSX EACCES 上修复:权限被拒绝...您无权访问此文件