当我试图在终端中设置user.name和密码时,为什么GitHub不接受?

当我试图在终端中设置user.name和密码时,为什么GitHub不接受?,git,github,Git,Github,我尝试输入以下命令: % git config --global user.name "xxx" % git config --global user.password "xxx" 当我尝试推送时,我仍然发现每次推送都会要求输入用户名和密码 % git push Username for 'https://github.com': xxx Password for 'https://xxx@github.com': xxx 这个和那个是不同的事情user.password根本不是git配置项

我尝试输入以下命令:

% git config --global user.name "xxx"
% git config --global user.password "xxx"
当我尝试推送时,我仍然发现每次推送都会要求输入用户名和密码

% git push
Username for 'https://github.com': xxx
Password for 'https://xxx@github.com': xxx

这个和那个是不同的事情
user.password
根本不是git配置项,
user.name
只是在使用
git commit
时默认使用的名称:

在执行
git推送时
,您看到的提示是输入github凭据,这是一组与github完全无关的标识符,特定于github,不必与您在
git
中配置的user.name(和user.email)相关联

吉特。您可以配置一个凭证帮助器,该帮助器为git提供要使用的凭证(可能按域过滤)。默认情况下,git附带两个助手(将凭据存储在内存中一段时间,默认情况下为15mn)和(将凭据存储在未加密的磁盘上)

如果你只是偶尔推一次,那么前者不是很有用(尽管你可以将超时时间增加到更大的值,例如,30000的超时时间将是8小时,因此你必须在一天开始时输入凭据,然后在第二天之前就不用担心了),而后者不是很安全(尽管您可以将存储文件存储在加密的thumbdrive或其他东西上)

还有第三方提供的凭证帮助程序,如果您的系统有凭证管理系统,则可以将其与系统的凭证管理系统集成,例如与Windows凭证存储集成,
osxkeychain
与OSX内置的keychain集成(实际上是随git提供的,尽管有些未记录),等等


另一种选择是推/拉ssh,并使用ssh代理来记住您的密钥和凭据。

user.password不是git配置设置(因此这只是将一个文本字符串放入git配置中,而没有任何内容读取)user.name仅设置提交时使用的名称-这两项都与GitHub auth无关,从这里开始可能是明智的:我看到了“通过配置Git为您存储密码,您可以避免提示输入密码。配置后,当您拉入或推入存储库时,Git会自动使用缓存的密码。”想知道怎么做。-点击链接,页面继续提到(:。注意,使用
git@
并配置ssh密钥是(我认为)使用git进行身份验证的更常见的方法,除了生成密钥对并将其添加到您的帐户之外,不需要任何配置。