我在git和终端机上遇到问题。
这是一个画廊,向您展示我的问题:http : //imgur.com/a/6RrEY
当我从终端推送提交时,git说我用另一个用户名推送它们,那是我组织(我公司)的用户,根本没有提交,看来它不属于任何人:(请查看图库第一张图片)
但是,当我在Mac上使用Github时,这不会发生,在Feed中,我看到了自己推送的提交。
该问题也影响到我的个人存储库,我的终端说我没有权限在这些存储库上推送提交(这显然是错误的),因为它试图与该用户一起推送它:(请查看图片库第二张图片)
你猜怎么了 ?Mac版Github也不会发生这种情况。
几天前,我将计算机更改为全新的计算机,所以我重置了github的所有ssh密钥,只保留了Github为Mac生成的新密钥,因此我认为没有隐藏的幽灵用户/ ssh密钥在某个地方,这个硬盘是全新的:(请查看图库第三张图片)
我的.gitconfig文件很清楚,只有我的凭据:(请查看库第四张图片)
我真的不明白,帮助,StackOverflow,您是我唯一的希望。
(我对我的拙劣的金普技能和《星球大战》的致歉)
编辑: ssh-add -l
仅显示由github为mac创建的良好的ssh密钥,我只有一个github帐户
EDIT2: ssh -T git@github.com
认出我是好用户。
EDIT3:经过几次测试,看起来我的终端使用我的用户名进行提交,但将其与另一个用户一起推送,Github for mac提交并使用良好的用户名进行推送。这种情况发生在我拥有/制造的每个仓库中那些)。
EDIT4:在个人存储库中git log --pretty="%h %an %ae"
显示我的好用户名
EDIT5:没有迹象表明环境变量会覆盖我的凭证env
。即使我尝试设置具有良好凭据的那些变量,问题仍然存在。
EDIT6:如果我强迫用户进入/.git/config
存储库的路径,事情将正常进行,但我认为这不是一个好选择:http://USER@github.com/USER/REPO.git
EDIT7:我们删除了为我推送提交的git用户,这带来了另一个错误:remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/USER/REPO.git/'
最终编辑:我使用自制软件安装了git,输入了git, git config --global push.default simple
现在即使没有强制用户也需要我的凭据。那很奇怪。谢谢大家的帮助,你们真棒!
~/.gitconfig
很清楚,也是$project_root/.git/config
。实际上,每个个人项目都会遇到这个问题,因为其他用户属于拥有这些存储库的我的组织,因此可以推送工作项目。
~/.gitconfig
并$project_root/.git/config
归档。这两个中的一个肯定为用户名配置错误。