Git密码(登录凭证)的保存和重置 Mac 您所在的位置:网站首页 mac清除开机密码 Git密码(登录凭证)的保存和重置 Mac

Git密码(登录凭证)的保存和重置 Mac

2024-07-14 12:08| 来源: 网络整理| 查看: 265

Git密码(登录凭证)的保存和重置 Mac 1. 凭证系统2. 命令行操作 -- store模式2.1 凭证存储2.2 凭证删除 3. 命令行操作 -- osxkeychain模式(Mac用户)3.1 辅助工具安装3.2 凭证存储3.3 凭证删除 4. 命令行操作 -- 多模式共存情况的处理5. IDEA凭证存储的设置参考

1. 凭证系统

通过Git进行远程访问时,默认每次都会要求输入用户名和密码。要想对密码进行保存,需要借助git的凭证系统。git支持四种形式的凭证模式:

“cache” 模式会将凭证存放在内存中一段时间。 密码永远不会被存储在磁盘中,并且在15分钟后从内存中清除。

“store” 模式会将凭证用明文的形式存放在磁盘中,并且永不过期。 这意味着除非你修改了你在 Git 服务器上的密码,否则你永远不需要再次输入你的凭证信息。 这种方式的缺点是你的密码是用明文的方式存放在你的 home 目录下。

如果你使用的是 Mac,Git 还有一种 “osxkeychain” 模式,它会将凭证缓存到你系统用户的钥匙串中。 这种方式将凭证存放在磁盘中,并且永不过期,但是是被加密的,这种加密方式与存放 HTTPS 凭证以及 Safari 的自动填写是相同的。

如果你使用的是 Windows,你可以安装一个叫做 “Git Credential Manager for Windows” 的辅助工具。 这和上面说的 “osxkeychain” 十分类似,但是是使用 Windows Credential Store 来控制敏感信息。

凭证系统和 Git 本身是分开的;每种凭证模式都对应一个凭证辅助工具来对用户名、密码进行处理。

2. 命令行操作 – store模式 2.1 凭证存储

如果习惯使用命令行进行git操作,可以通过以下命令启用凭证存储。以下均以 store 存储方式为例进行:

1) 启用store存储:

$ git config --global credential.helper store

执行命令后在git的全局配置文件 ~/.gitconfig 中会添加如下内容。

[credential] helper = store

2)配置后,正常情况下,我们在通过git命令进行远程操作(如git pull)时,会提示输入用户名、密码;验证成功后该凭证会自动保存到默认文件 ~/.git-credentials中。其存储格式为:

$ cat ~/.git-credentials http://username:[email protected]

3)凭证保存后,下次进行远程操作时就不会提示输入用户名、密码。

2.2 凭证删除

可以直接修改~/.git-credentials文件,删除不需要的凭证。也可以通过命令删除,空行代表命令结束。

$ git credential reject protocol=http host=git.jd.com

删除凭证后,下次登录时会重新提示输入用户名、密码。

3. 命令行操作 – osxkeychain模式(Mac用户) 3.1 辅助工具安装

如果你的系统中没有安装osxkeychain辅助工具,则需要先行安装。

curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain -o git-credential-osxkeychain sudo mv git-credential-osxkeychain /usr/local/bin sudo chmod u+x /usr/local/bin/git-credential-osxkeychain 3.2 凭证存储

如果习惯使用命令行进行git操作,可以通过以下命令启用凭证存储。以下均以 osxkeychain(钥匙串) 存储方式为例进行:

1) 启用 osxkeychain (钥匙串)存储:

$ git config --global credential.helper osxkeychain

执行命令后在git的全局配置文件 ~/.gitconfig 中会添加如下内容。

[credential] helper = osxkeychain

2)配置后,正常情况下,我们在通过git命令进行远程操作(如git pull)时,会提示输入用户名、密码;验证成功后该凭证会保存到系统的钥匙串中。如下图: 在这里插入图片描述

3)凭证保存后,下次进行远程操作时就不会提示输入用户名、密码。

3.3 凭证删除

可以直接从钥匙串访问app选中要删除的凭证,右键删除。也可以通过命令删除,空行代表命令结束。

$ git credential reject protocol=http host=git.jd.com

删除凭证后,下次登录时会重新提示输入用户名、密码。

4. 命令行操作 – 多模式共存情况的处理

以上两个示例均采用单一凭证处理模式,其实是可以同时采用多种凭证存储模式的。

如果同时存在两种凭证存储方式

查询时会按顺序执行各凭证辅助工具进行查询,遇到第一个应答则退出查询;保存时会调用所有的凭证辅助工具,各辅助工具根据自己的逻辑处理用户名、密码。

如果你在闪存上有一个凭证文件,但又希望在该闪存被拔出的情况下使用内存缓存来保存用户名密码,.gitconfig 配置文件如下:

[credential] helper = store --file /mnt/thumbdrive/.git-credentials helper = cache --timeout 30000 5. IDEA凭证存储的设置

可以通过Appearance & Behavior - System Setting - Passwords 设置凭证的存储方式。默认为In native Keychain。即存储到本地钥匙串中。因此如果密码发生变化,可以从钥匙串中删除对应的记录,然后重新登录即可。 在这里插入图片描述 在这里插入图片描述

参考

7.14 Git 工具 - 凭证存储 macOS中保存git用户名和密码



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有