一、解决向github等git版本库服务器提交代码是老要输入用户名密码
我曾经切换过一次github账号, 似乎还更改过一次github账号的密码, 然后呢?
然后就是每次向github提交代码时都要输入用户名密码(猜测是由于上述原因导致),
每次都是啊, 这也忒麻烦了, 于是就想办法解决这个问题, 经过一番查找, 终于找到一个解决办法, 分享之, 与君共勉 !!
==============
以下操作windows系统建议使用Git Bash来操作
解决方案步骤如下:
- 在你的用户目录下新建一个文本文件, 名曰
.git-credentials
用户目录:- windows:
C:/Users/username
- mac os x:
/Users/username
- linux:
/home/username
- windows:
- 在上一步创建的文件中输入一下内容:
https:{username}:{password}@github.com
当然上述{username}和{password}要换成你的github的账号名和密码 - 修改git配置
执行命令git config --global credential.helper store
上述命令会在~/.gitconfig
文件末尾添加如下配置[credential] helper = store
经过上述三步配置之后, 你push代码到github时, 便无需再输入用户名密码了~~
=================
续集......
后来发现, 不用上面三步这么麻烦, 简化流程如下:
- 在命令行输入命令:
git config --global credential.helper store
☞ 这一步会在用户目录下的.gitconfig文件最后添加:[credential] helper = store
- 现在push你的代码 (
git push
), 这时会让你输入用户名密码, 这一步输入的用户名密码会被记住, 下次再push代码时就不用输入用户名密码啦!
☞这一步会在用户目录下生成文件.git-credential
记录用户名密码的信息.
☞git config --global
命令实际上在操作用户目录下的.gitconfig
文件, 我们cat一下此文件(cat .gitconfig
), 其内容如下:[user] name = alice email = alice@aol.com [credential] helper = store
git config --global user.email "alice@aol.com"
操作的就是上面的email
git config --global credential.helper store
操作的就是上面最后一行的值
二、解决github等git版本库服务器用户名密码变更时,本机使用git时提交、拉取错误的问题
出现错误的原因是,github上的用户名密码更改了,而本机还在使用之前记录的用户名密码,所以会出现用户名密码没有权限等问题来进行提交拉取,可以通过以下两种方式解决
方式一:
1、通过以上讲解,我们知道, .git-credentials文件储存的是https:{username}:{password}@github.com
用户名密码等信息;.gitconfig储存的是用户名、邮箱、以及是否记录下第一次账号密码行为的信息,
2、这样我们可以修改这两个文件中的内容来进行账号密码的变更;(windows系统可以通过 控制面板用户帐户凭据管理器 来进行相应的增删改查)
方式二:
1、在命令行输入命令:
git config --global --unset credential.helper
来进行清楚掉.gitconfig文件中 [credential] helper = store信息;
2、在命令行输入命令: git config --global credential.helper store