我试图在Emacs 24.3.1上使用Magit推送到GitHub存储库.请注意,我在Windows机器上.
我已经暂存并提交了对文件的更改,并且Mx magit-status仅反映驻留在我的repo克隆中的未跟踪文件.
要从Magit状态缓冲区推送,我这样做P P,我得到的信息是:
Running c:/Program Files (x86)/Git/bin/git.exe push -v origin master
Run Code Online (Sandbox Code Playgroud)
它似乎挂在这里,没有明显的进一步活动.当我从命令行推送时,一切似乎都很好,我被提示输入我的GitHub用户名:
PS H:\.emacs.d> git push -v origin master
Pushing to https://github.com/Username/emacs.d
Username for 'https://github.com':
Run Code Online (Sandbox Code Playgroud)
我已设置user.name使用git config,但显然这并不妨碍git在命令行提示我输入用户名.
我在这里出错的任何想法以及如何让Magit推进?
user.name仅用于提交的作者,而不用于身份验证.我想知道你是如何得到这个想法的,因为没有记录这样的特征.
必须通过git-credentials明确设置身份验证的用户名.如果是Github,请在Git配置中添加以下内容:
[credential "https://github.com"]
username = johndoe
Run Code Online (Sandbox Code Playgroud)
哪里johndoe是与真实的用户名来代替,效果显着.
不过,我建议你使用SSH.生成SSH密钥对,将公钥添加到Github,并使用git@github.com:johndoe/myrepo.git而不是https://github.com/johndoe/myrepo.git远程.与Putty的auth代理一起,在将密钥添加到代理后,您将能够在没有任何进一步密码提示的情况下进行推送.
您还可以为不同的系统使用不同的密钥,并独立于其他密钥和Github密码撤销每个密钥.此外,SSH密钥不能用于登录Github本身,因此即使您的密钥丢失,您的Github帐户仍然是最安全的.总而言之,SSH密钥更加安全,特别是在有丢失或被盗风险的系统上,例如笔记本电脑.
| 归档时间: |
|
| 查看次数: |
1497 次 |
| 最近记录: |