解决git提交拉取多次输入用户名密码与用户名密码更改问题

一、解决向github等git版本库服务器提交代码是老要输入用户名密码

我曾经切换过一次github账号, 似乎还更改过一次github账号的密码, 然后呢?
然后就是每次向github提交代码时都要输入用户名密码(猜测是由于上述原因导致),
每次都是啊, 这也忒麻烦了, 于是就想办法解决这个问题, 经过一番查找, 终于找到一个解决办法, 分享之, 与君共勉 !!

==============

以下操作windows系统建议使用Git Bash来操作

解决方案步骤如下:

  1. 在你的用户目录下新建一个文本文件, 名曰.git-credentials
    用户目录:
    • windows: C:/Users/username
    • mac os x: /Users/username
    • linux: /home/username
  2. 在上一步创建的文件中输入一下内容:
    https:{username}:{password}@github.com
    当然上述{username}和{password}要换成你的github的账号名和密码
  3. 修改git配置
    执行命令git config --global credential.helper store
    上述命令会在~/.gitconfig文件末尾添加如下配置
        [credential]
            helper = store

经过上述三步配置之后, 你push代码到github时, 便无需再输入用户名密码了~~

=================
续集......
后来发现, 不用上面三步这么麻烦, 简化流程如下:

  1. 在命令行输入命令:
    git config --global credential.helper store
    ☞ 这一步会在用户目录下的.gitconfig文件最后添加:
        [credential]
            helper = store
 
  1. 现在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

    

原文地址:https://www.cnblogs.com/zst062102/p/13571938.html