GIT 修改用户名和密码

1、概述

如果你使用GIT的SSH 方式连接远端,并且设置了一个没有口令的秘钥,这样就可以砸不输入用户名和密码的情况下安全地传输数据。然而,这对 HTTP 协议来说是不可能的 ---- 每一个连接都是需要用户名和密码的。但是这样使用就比较麻烦,而 GIT 提供了一个凭证系统来处理这个事情。

2、GIT 提供的凭证系统

GIT 提供的凭证系统,会有四种模式,分别是默认模式、cache(缓存)、store(磁盘存储)、及keychain(钥匙串)。
默认模式:所有的都不缓存,每一次都会询问你的用户名和密码。
cache:会把凭证存放在内存中一段时间。密码永远不会被存储在磁盘中,并且在15分钟后从内存中清除。
store:会将凭证用明文的形式存放在磁盘中,并且永不过期(除非你修改了你在Git服务器上的密码)。缺点就是密码是明文保存的。
keychain:它会将凭证缓存到你系统用户的钥匙串中,跟store的区别是它会对密码进行加密。在Mac 下,是"osxkeychain" 模式,在 windows 下,是"winsotre" 模式。

我们可以设置 GIT 的配置来选择上述一种方式

git config --global credential.helper cache

其中的一些模式可接受一些选项。如"store" 模式可接受一个 --file 参数,可自定义存放密码的文件路径(默认是 ~/.git-credentials)。“cache” 模式有 --timeout 参数,可设置后台进程存活时间。

GIT 允许配置多个模式。当查找特定服务器的凭证时,GIT会按顺序查询,并且在找到第一个回答时停止查询。当保存凭证时,GIT会将用户名和密码发送给 所有 配置里表中的模式工具,它们会按自己的方式处理用户名和密码。如果你在闪存上有一个凭证文件,但又希望在该闪存被拔出的情况下使用内存缓存来保存用户名密码,.gitconfig 配置文件如下:

[credential]
	helper = store --file /mnt/thumbdrive/.git-credentials
	helper = cache --timeout 30000

查看可用命令

git config credential.helper

3、修改用户名和密码

能修改密码的只有 store 和 keychain 模式。对于 store 我们找到它的文件打开进行修改就好了,这里主要说一下 keychain 模式。

对于我们输入的用户名和邮箱账号,都存储在 .gitconfig 文件中,我们很简单的就能找到(C:\用户\username.gitconfig)。

但对于密码就有点麻烦,其实找到系统的钥匙串凭证的地方就可以了。

对于windows,其凭证在 “控制面板->凭证管理器->Windows凭证”下,找到相应的git配置就可以了

在这里插入图片描述

对于mac,我估计也是一样的,但是我没有苹果本,没法验证了。

感谢大家,我是假装很努力的YoungYangD(小羊)

参考资料:GIT官网文档

  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值