每当我尝试推入我的存储库时,git都会要求用户名和密码。

每次重新输入密码没有问题,但问题是输入用户名。我使用https克隆存储库。

那么,我如何配置git,使它在每次git推送时都不需要用户名。

我是linux新手,但windows git push中的IIRC只要求输入密码。


当前回答

为了避免输入用户名,但仍会提示您输入密码,您可以简单地克隆存储库,包括用户名:

git clone user_name@example.gitrepo.com/my_repo.git

其他回答

(仅适用于Mac OS)

对于Windows和Linux,请参阅下面提到的Github文档链接。

来自Github文档:文档链接

在Git中缓存GitHub密码

您需要Git 1.7.10或更高版本才能使用osxkeychain凭据帮手检查Git版本:Git--version要了解osxkeychain助手是否已安装:git凭证osxkeychain如果您收到以下响应,那么您已经安装并准备好在mac上使用:>用法:git credential osxkeychain<get|store|erase>如果您没有得到如上所示的响应,则可以运行以下命令安装它:git凭证osxkeychain要告诉git全局使用osxkeychain获取git凭据:git-config--全局凭证.helper osxkeychain在将凭据保存到密钥链之前,它将提示一次。

更改克隆的存储库可以:

git remote set-url origin git@github.com:gitusername/projectname.git

使用缓存的凭据是有效的,设置超时时间可以减少麻烦。如果您使用Windows凭据助手,这应该是最简单的方法(特别是在SSH被阻止的情况下)。

使用以下命令可以给您15分钟的超时时间。

$ git config --global credential.helper cache

您也可以通过下面的命令修改时间。这是一个1小时的示例。

$ git config --global credential.helper 'cache --timeout=3600'

如果要在本地缓存,请使用该命令一小时以超时。

$ git config credential.helper 'cache --timeout=3600'

最简单的方法是创建包含以下内容的~/.netrc文件:

machine github.com
login YOUR_GITHUB_USERNAME
password YOUR_GITHUB_PASSWORD

(如下所示:https://gist.github.com/ahoward/2885020)

您甚至可以关闭此文件的权限,以便没有人可以通过键入以下内容读取您的密码:

chmod 600 ~/.netrc

我今天面临这个问题。如果您在2020年11月面临此问题,则需要更新git版本。我收到一封电子邮件,告诉我这件事。下面是github团队的电子邮件内容。

我们检测到您最近试图向GitHub进行身份验证使用旧版本的Git for Windows。GitHub改变了用户在使用Git for Windows时进行身份验证,现在需要使用web浏览器验证GitHub。能够登录通过web浏览器,用户需要更新到最新版本的Git窗户。您可以在以下位置下载最新版本:https://gitforwindows.org/如果您无法将Git for Windows更新到最新版本,请参阅有关详细信息和建议的解决方法,请单击以下链接:https://aka.ms/gcmcore-githubauthchanges如果您对这些更改有任何疑问或需要帮助,请联系GitHub支持,我们很乐意进一步协助。https://support.github.com/contact谢谢,GitHub团队