解决 git 中每次 push 或者 pull 等操作都需要需要输入账户密码
前景引入
使用 git 时,如果每次 push 推送、pull 拉取等操作都需要输入账户密码来验证账户才允许推送,非常繁琐。问题的表现像下面这样:
C:\adir\bsubdir\cproject>git push origin
Username for 'https://github.com': XXXX
Password for 'https://raoyingjun@foxmail.com@github.com': XXXX
为什么每次都需要登录
如果你是下面这种方式 clone 项目的,则每次都需要进行登录:
git clone https://github.com/xxx/xxxxxx.git
原因如下:
如果你使用的是 SSH 方式连接远端(remote),这样就可以在不输入用户名和密码的情况下安全地传输数据。 然而,这对 HTTP 协议来说是不可能的,每一个连接都是需要用户名和密码的。
当在使用双重认证的情况下会更麻烦,因为你需要输入一个随机生成并且毫无规律的 token 作为密码。
注意,这个 token 指的是 git 的
Personal Access Token
如何解决
使用下面的命令即可解决
git config --global credential.helper store
其中参数 store 的含义是什么?
“store” 模式会将凭证用明文的形式存放在磁盘中,并且永不过期。 这意味着除非你修改了你在 Git 服务器上的密码,否则你永远不需要再次输入你的凭证信息。 这种方式的缺点是你的密码是用明文的方式存放在你的 home
目录下。当然,除了参数 store 还有其他的参数可选
当然,也可用通过
设置SSH免密登录
的方式登录
以上参考自
git中文使用文档
该博客版权归饶英俊(Royin)所有,严禁抄袭,欢迎转载。如有反馈或建议等可通过邮箱联系我
本文链接:https://raoyingjun.github.io/2021/10/26/%E8%A7%A3%E5%86%B3git%E4%B8%AD%E6%AF%8F%E6%AC%A1push%E6%88%96%E8%80%85pull%E7%AD%89%E6%93%8D%E4%BD%9C%E9%83%BD%E9%9C%80%E8%A6%81%E9%9C%80%E8%A6%81%E8%BE%93%E5%85%A5%E8%B4%A6%E6%88%B7%E5%AF%86%E7%A0%81/