每当我尝试推入我的存储库时,git都会要求用户名和密码。
每次重新输入密码没有问题,但问题是输入用户名。我使用https克隆存储库。
那么,我如何配置git,使它在每次git推送时都不需要用户名。
我是linux新手,但windows git push中的IIRC只要求输入密码。
每当我尝试推入我的存储库时,git都会要求用户名和密码。
每次重新输入密码没有问题,但问题是输入用户名。我使用https克隆存储库。
那么,我如何配置git,使它在每次git推送时都不需要用户名。
我是linux新手,但windows git push中的IIRC只要求输入密码。
当前回答
为了避免输入用户名,但仍会提示您输入密码,您可以简单地克隆存储库,包括用户名:
git clone user_name@example.gitrepo.com/my_repo.git
其他回答
如果您使用的是https而不是ssh,您可以按照user701648所说的那样在.git/config中编辑“url”,但如果您愿意,也可以添加密码:
url = https://username:password@repository-url.com
使用以下命令可以给您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
更改克隆的存储库可以:
git remote set-url origin git@github.com:gitusername/projectname.git
使用缓存的凭据是有效的,设置超时时间可以减少麻烦。如果您使用Windows凭据助手,这应该是最简单的方法(特别是在SSH被阻止的情况下)。
git config --global credential.helper cache