windows上git push和pull时每次都需要输入本地密码,怎么去掉,linux上不用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows上git push和pull时每次都需要输入本地密码,怎么去掉,linux上不用相关的知识,希望对你有一定的参考价值。

参考技术A 这和你的设置有关。原因:
1.
生成sshkey的时候你设置了密码。那么你以后每次推送、拉取都会要求输入密码。
2.
托管站点保存的密码被系统遗忘(用http方式的时候一般第一次都会要求输入密码,用sshkey不会----除了原因1的设置的原因。)
解决办法:
也不清楚配置git全局文件里有没有设置免密登录的设置,如果项目还不是很多的话,可以重新生成sshkey(如果你也不清楚怎么设置免密的话).记得重新生成的时候不要设置密码了。
相应操作,到托管站把新的sshkey加上,并删掉旧的sshkey。

Git Push 避免用户名和密码方法

前言

    在大家使用github的过程中,一定会碰到这样一种情况,就是每次要push 和pull时总是要输入github的账号和密码,这样不仅浪费了大量的时间且降低了工作效率。在此背景下,本文在网上找了两种方法来避免这种状况,这些成果也是先人提出来的,在此只是做个总结。

1.方法一 

1.1 创建文件存储GIT用户名和密码

在%HOME%目录中,一般为C:\users\Administrator,也可以是你自己创建的系统用户名目录,反正都在C:\users\中。文件名为.git-credentials,由于在Window中不允许直接创建以"."开头的文件,所以需要借助git bash进行,打开git bash客户端,进行%HOME%目录,然后用touch创建文件 .git-credentials, 用vim编辑此文件,输入内容格式:

touch .git-credentials

vim .git-credentials

https://{username}:{password}@git.coding.net       //我这里用的是coding.net域名      

针对 SSH 协议的方式, 配置SSH 公钥,使用 SSH 协议操作,具体见 SSH 公钥配置

对于 Https 协议

  1. 首先在全局配置保存你的密码, ~/.git-credentials (没有就创建)内添加 https://{username}:{passwd}@git.coding.net
  2. 然后配置 Git 命令存储认证,

 

 

1.2 添加Git Config 内容

进入git bash终端, 输入如下命令:

git config --global credential.helper store

执行完后查看%HOME%目录下的.gitconfig文件,会多了一项:

[credential]

    helper = store

重新开启git bash会发现git push时不用再输入用户名和密码

2.方法二

2.1 添加环境变量

在windows中添加一个HOME环境变量,变量名:HOME,变量值:%USERPROFILE%

技术分享

2.2 创建git用户名和密码存储文件

进入%HOME%目录,新建一个名为"_netrc"的文件,文件中内容格式如下:

machine {git account name}.github.com
login your-usernmae
password your-password

重新打开git bash即可,无需再输入用户名和密码

以上是关于windows上git push和pull时每次都需要输入本地密码,怎么去掉,linux上不用的主要内容,如果未能解决你的问题,请参考以下文章

git分支名大小写问题导致分支push到远程失败

windows git pull或者push或者clone代码时弹出安全框解决办法

10组第二次作业

git 免密码push

Git Push 避免用户名和密码方法

coding git push 失败