Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t似乎在使用magit推送GitHub_Git_Emacs_Magit - Fatal编程技术网

Can';t似乎在使用magit推送GitHub

Can';t似乎在使用magit推送GitHub,git,emacs,magit,Git,Emacs,Magit,我正在尝试使用Emacs 24.3.1上的Magit推送到GitHub存储库。注意,我在一个Windows盒子上 我已暂存并提交对文件的更改,M-x magit状态仅反映驻留在我的repo克隆中的未跟踪文件 要从Magit状态缓冲区推送,我执行p,得到的消息是: Running c:/Program Files (x86)/Git/bin/git.exe push -v origin master 它似乎挂在这里,没有进一步的活动是明显的。当我从命令行开始推送时,一切似乎都很好,系统会提示我输

我正在尝试使用Emacs 24.3.1上的Magit推送到GitHub存储库。注意,我在一个Windows盒子上

我已暂存并提交对文件的更改,M-x magit状态仅反映驻留在我的repo克隆中的未跟踪文件

要从Magit状态缓冲区推送,我执行
p
,得到的消息是:

Running c:/Program Files (x86)/Git/bin/git.exe push -v origin master
它似乎挂在这里,没有进一步的活动是明显的。当我从命令行开始推送时,一切似乎都很好,系统会提示我输入GitHub用户名:

PS H:\.emacs.d> git push -v origin master
Pushing to https://github.com/Username/emacs.d
Username for 'https://github.com':
我已经使用
git config
设置了
user.name
,但显然这并不妨碍git在命令行提示我输入用户名


您知道我哪里出了问题,以及如何让Magit推送吗?

user.name
仅用于提交的作者身份,不用于身份验证。我想知道你是如何得到这个想法的,因为没有这样的特性被记录下来

身份验证的用户名必须通过显式设置。对于Github,将以下内容添加到Git配置中:

[credential "https://github.com"]
    username = johndoe
显然,
johndoe
将替换为您的真实用户名

不过,我建议您使用SSH。生成SSH密钥对,将公钥添加到Github,然后使用
git@github.com:johndoe/myrepo.git
而不是
https://github.com/johndoe/myrepo.git
作为遥控器。与Putty的auth代理一起,在向代理添加密钥一次后,您将能够在没有任何进一步密码提示的情况下进行推送

您还可以为不同的系统使用不同的密钥,并独立于其他密钥和Github密码撤销每个密钥。此外,SSH密钥不能用于登录Github本身,因此即使您的密钥丢失,您的Github帐户仍然基本安全。总之,SSH密钥更安全,尤其是在有丢失或被盗风险的系统上,例如笔记本电脑。

快速修复:

(setenv“GIT\u ASKPASS”“GIT gui--ASKPASS”)


检查此项:

尝试将远程设备更改为使用
ssh
而不是
https
。另外,
*消息*
缓冲区中是否有任何内容?
*消息*
缓冲区中没有任何内容。将尝试
ssh
。当我切换到
ssh://github.com/Username/emacs.d.git
,我获得了
权限被拒绝(公钥)。
*magit进程*
缓冲区中。请注意,我也从cmd行收到了相同的消息。最简单的解决方案是为您的github用户创建/添加公钥。谢谢!顺便问一下,MsysGit和MsysSSH是在Windows上使用SSH for git的最佳方式吗?@PatternMatching对不起,但我不知道。我的印象是,Windows上的Git可以使用Putty,这可以说是Windows上最好的SSH客户端,但我从来没有在Windows上真正使用Git本身(或Emacs)。我很久没有在Windows上工作了,那时我使用Git扩展,后来又简要介绍了SourceTree。