我有一个git和我的终端问题.
这是一个向您展示我的问题的图库:http://imgur.com/a/6RrEY
当我从我的终端推送提交时,git说我用另一个用户名推送它们,那是我的组织(我公司)的用户,根本没有提交,似乎它不属于任何人:( 查看图库第一张图片)
但是当我使用Github for mac时,这种情况不会发生,在Feed中我看到了自己提交的提交.
这个问题也影响了我的个人存储库,我的终端说我没有权限推送这些存储库的提交(这显然是错误的),因为它试图用这个用户推送它:( 查看图库第二张图片)
你猜怎么着 ?对于Mac来说,Github也不会发生这种情况.
几天前我把我的电脑变成了一个全新的电脑,所以我重置了我所有的github的ssh密钥并且只留下了一个由Github for Mac生成的新密钥,所以我不认为有一些ghost用户/ ssh密钥被隐藏了在某个地方,这个硬盘是全新的:( 查看图库第三张图片)
我的.gitconfig文件全部清除,只有我的凭据:( 查看图库第四张图片)
我真的不明白,帮助,StackOverflow,你是我唯一的希望.
(我为我可怜的Gimp技能和星球大战参考道歉)
编辑: ssh-add -l只显示由github为mac创建的好的ssh密钥,我只有一个github帐户
EDIT2: ssh -T git@github.com认出我是好用户.
EDIT3:经过几次测试后,看起来我的终端用我的用户名进行提交,但是用另一个提交它们,Github用于mac提交并推送好的用户名.这种情况发生在我拥有/制作的每个仓库(甚至是新的)那些).
EDIT4:在个人存储库中git log --pretty="%h %an %ae"显示我的好用户名
编辑5:没有任何环境变量的迹象会覆盖我的凭据env.即使我尝试设置具有良好凭据问题的变量仍然存在.
编辑6:如果我强迫用户在/.git/config存储库的路径中,事情正常工作,但我认为这不是一个好的选择:http://USER@github.com/USER/REPO.git
编辑7:我们删除了为我推送提交的git用户,这带来了另一个错误:remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/USER/REPO.git/'
最终编辑:我用自制软件安装了git,打字 git config --global push.default simple ,现在即使不强迫用户也需要我的凭据.真奇怪.谢谢大家的帮助,你们真棒!
小智 151
我刚刚在工作中遇到了这个问题.安装xcode时随附mac或内置的内置git会在keychain中缓存git凭据.我的修复是:
启动钥匙串访问(通过cmd + space启动聚光灯,键入keychain,按回车键)
在左上方的钥匙串下,选择"登录"在左侧的类别下,选择"密码"
找到名称"github"并删除它.
Nit*_*hin 34
github通过它看到的ssh密钥识别你,而不是通过git中的任何设置识别你.
因此,当您尝试从个人帐户推送时,您需要确保您的工作帐户的密钥环不在您的密钥环中,反之亦然.
使用ssh-add -l以确定哪些键是在你的钥匙圈,并ssh-add -d <keyfile>从你的钥匙圈中删除键,如果dosent工作删除了"不必要的" SSH密钥~/.ssh/config.
Yin*_*fei 17
尽管其他用户提供了很多选择,但解决这个问题的唯一方法是完全重新安装git并键入git config --global push.default simple以重写好的凭据.
Von*_*onC 14
看起来我的终端使用我的用户名进行提交,但是将其推送到另一个用户名
作者和提交者姓名和电子邮件(对GitHub很重要)来自:
git config user.name
git config user.email
Run Code Online (Sandbox Code Playgroud)
但是,正如在git config和中提到的那样git commit-tree,这些值可以被环境变量覆盖:
GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL
GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL
Run Code Online (Sandbox Code Playgroud)
所以仔细检查那些变量.
如果我强迫用户
.git/config使用存储库,事情会正常工作,但我认为这不是一个好选择.
但它应该是一个很好的解决方案.
使用https网址时,我始终在其中指定用户,以确保使用正确的用户进行身份验证.
http://USER@github.com/USER/REPO.git
Run Code Online (Sandbox Code Playgroud)
AED*_*WIP 10
屁股好痛啊!
问题:
由于未知原因 git push 使用了错误的用户。我有几个不同的 git hub 用户 ID。我在 2 家不同的公司工作,也有学生证
我在 mac 上工作。这是我最后做的
1) 删除 credential.helper
一种。您需要弄清楚 credential.helper 的配置位置
git config --local credential.helper
git config --global credential.helper
git config --system credential.helper
Run Code Online (Sandbox Code Playgroud)
湾 一旦找到正确的 fig 文件,请按如下方式将其删除
git config --global --unset credential.helper
Run Code Online (Sandbox Code Playgroud)
现在在我的本地仓库中,我破解了 .git/config 文件
我变了
url = https://github.com/aedavids/lab3RotationProject.git
Run Code Online (Sandbox Code Playgroud)
到
url = https://myGitHubUserId@github.com/aedavids/lab3RotationProject.git
Run Code Online (Sandbox Code Playgroud)
首先运行临时解决方案, killall ssh-agent然后添加为您需要使用的帐户生成的ssh密钥ssh-add ~/.ssh/id_4shameer
当我们得到类型错误时,它将帮助我们处理多个github帐户 ERROR: Permission to user/repo-git.git denied to username.
小智 8
我正在使用Windows 10,今天也遇到了同样的问题。在我的情况下,我的其他用户凭据由Windows凭据管理器保存。因此,使用以下命令删除/取消设置git凭证git config --global --unset credential.helper
没有帮助。我必须按照以下方法在Windows中手动删除条目,
开始->控制面板--->用户帐户--->管理您的凭据---> Windows凭据
然后搜索git:https : //github.com之类的条目并将其删除。在那之后它工作正常。
首先,通过 ssh 检查哪个用户:
ssh -T git@github.com
Run Code Online (Sandbox Code Playgroud)
你好
<your_current_github_username>!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。
使用上述内容登录 GitHubyour_current_github_username
检查所有配置的 ssh 密钥:https ://github.com/settings/keys
从中删除 ssh 密钥your_current_github_username
确定与哪个键相关联your_current_github_username
cat ~/.ssh/id_*.pub
Run Code Online (Sandbox Code Playgroud)
假设id_rsa是您的目标 github 用户名的 SSH 密钥,在您的情况下,它可能是不同的文件名。
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
如果在您的计算机上找不到公钥(或者您丢失了它),则创建一个新的 ssh 密钥并将ssh-keygen其放置在此处:~/.ssh/id_new_keyyyy
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_new_keyyyy
Run Code Online (Sandbox Code Playgroud)
我的解决方案是在 github 的 ~/.ssh/config 文件中添加一个条目。我必须这样做是因为:
我添加的条目是:
Host github.com
Hostname github.com
Port 22
User waterproofpatch
IdentityFile ~/.ssh/id_rsa_waterproofpatch
Run Code Online (Sandbox Code Playgroud)
我创建了一个新密钥,该密钥是我的帐户唯一的,名称为 id_rsa_waterproofpatch。我的 ssh 配置中的此条目指定,对于与 github.com 的连接,我希望提供此密钥。
另一个解决方案可能是我登录另一个帐户,删除重复的 ssh 密钥。
| 归档时间: |
|
| 查看次数: |
59290 次 |
| 最近记录: |