我正在尝试在 Emacs 24.3.1 上使用 Magit 推送到 GitHub 存储库。请注意,我使用的是 Windows 盒子。
我已经暂存并提交了对文件的更改,并且 M-x magit-status 仅反映驻留在我的存储库克隆中的未跟踪文件。
为了从 Magit 状态缓冲区推送,我这样做P 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':
我已经设定user.name
using git config
,但显然这并不能阻止 git 在命令行提示我输入用户名。
有什么想法我在这里出错了以及如何让 Magit 推动?
user.name
仅适用于提交的作者身份,并且not用于身份验证。我想知道你是如何想到这个想法的,因为没有记录这样的功能。
必须明确设置用于身份验证的用户名,通过git 凭证 http://git-scm.com/docs/gitcredentials.html。如果是 Github,请将以下内容添加到您的 Git 配置中:
[credential "https://github.com"]
username = johndoe
Where johndoe
显然,要替换为您的真实用户名。
不过,我建议您使用 SSH。生成SSH密钥对,将公钥添加到Github,然后使用[email protected] /cdn-cgi/l/email-protection:johndoe/myrepo.git
代替https://github.com/johndoe/myrepo.git
作为远程。与 Putty 的身份验证代理一起使用,将密钥添加到代理后,您将能够进行推送,而无需任何进一步的密码提示。
您还可以对不同的系统使用不同的密钥,并独立于其他密钥和您的 Github 密码撤销每个密钥。此外,SSH 密钥不能用于登录 Github 本身,因此即使您的密钥丢失,您的 Github 帐户仍然是安全的。总而言之,SSH 密钥更安全,尤其是在有丢失或被盗风险的系统上,例如笔记本电脑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)