使用Atom执行Git Push失败问题求助
解决Git Push时Atom不弹用户名框且权限拒绝的问题
嘿,我刚碰到过几乎一模一样的问题,这就给你捋清楚怎么搞定它!
先拆解下你的报错核心:Atom生成的临时Git脚本(/tmp/github-xxx/git-credential-atom.sh和/tmp/github-xxx/git-askpass-atom.sh)没有执行权限,再加上终端提示被禁用,导致没法输入用户名;而别人的Atom能弹框,是因为它的脚本权限正常,能触发弹窗逻辑。
下面是一步步的解决办法,按顺序试就行:
1. 重置Git的Askpass和Credential配置
Atom会给Git设置自定义的core.askpass和credential.helper来调用它的弹窗,但这些配置大概率出问题了。先把它们重置:
- 打开终端,执行:
git config --unset core.askpass git config --unset credential.helper - 回到Atom重新尝试Push,看看会不会弹出用户名密码框。
2. 重装Atom的Git相关插件
如果重置配置没用,基本是Atom的Git插件(比如github或git-plus)损坏了,导致生成的临时脚本权限异常:
- 打开Atom的设置界面,找到已安装的Git相关插件,卸载后重新安装。
- 重启Atom再试Push,应该就能正常触发弹窗了。
3. 临时绕过:手动配置Git凭证缓存
要是你急着Push代码,可以先让Git记住你的用户名密码,绕过Atom的弹窗问题:
- 执行:
git config --global credential.helper store - 之后第一次在终端执行
git push,输入一次用户名和密码,Git就会把凭证存在本地,下次就不用再输了。
4. 检查系统临时目录权限
极端情况是/tmp目录的权限太严格,导致Atom生成的脚本没法执行:
- 终端执行:
ls -ld /tmp - 正常权限应该是
drwxrwxrwt,如果不是,你可以用sudo chmod 1777 /tmp来修复(注意:这个操作要谨慎,确保你清楚自己在做什么)。
这些步骤应该能解决你的问题,先从第一步开始试,大概率就能搞定!
内容的提问来源于stack exchange,提问作者Daniel Santos
相关产品推荐
相关产品推荐

