📌  相关文章
📜  缓存 github 凭据寡妇 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:56:56.893000             🧑  作者: Mango

缓存 Github 凭据 - Shell/Bash

简介

在使用 Github 进行开发的过程中,我们通常需要频繁地进行 pull、push 操作,而每次操作都需要输入用户名和密码,即使输入正确也可能因为时效问题导致不断地输入。为了解决这个问题,我们可以考虑将 Github 凭据缓存起来。本文将介绍如何在 Shell/Bash 环境下缓存 Github 凭据,以便更加便捷地进行开发。

具体步骤
  1. 打开终端并使用以下命令创建一个新的访问令牌:
curl -u 'USERNAME' -d '{"note":"Token for Git operations"}' https://api.github.com/authorizations

其中,'USERNAME' 是你的 Github 用户名,运行命令后会要求输入 Github 密码。输入正确后,终端会返回一个类似于以下的信息:

{
  "id": 123456,
  "token": "abcdefg123456",
  "note": "Token for Git operations",
  "url": "https://api.github.com/authorizations/123456",
  ...
}

这个令牌就是我们需要缓存的 Github 凭据。

  1. 在终端中执行以下命令:
echo 'machine github.com login USERNAME password TOKEN' > ~/.netrc

其中,'USERNAME' 是你的 Github 用户名,'TOKEN' 则是上一步获取的访问令牌。这个命令会将凭据信息写入到一个名为 .netrc 的隐藏文件中,这个文件会使用密码模式进行保护。

  1. 修改你的 Git 配置文件,并启用 Git 凭据缓存功能。打开你的 Git 配置文件(一般在 ~/.gitconfig 中),添加以下内容:
[credential]
    helper = cache --timeout=3600

这个命令会将 Git 凭据缓存功能启用,并设置缓存的有效时间为 3600 秒(即 1 小时)。如果你不希望设置缓存有效时间,可以将整行代码中的 '--timeout=3600' 删除即可。

结语

至此,我们就完成了在 Shell/Bash 环境下对 Github 凭据的缓存。在以后的开发过程中,每次进行 pull、push 等操作就无需再输入密码了,非常方便。需要注意的是,由于缓存的 Github 凭据信息存在本地的文件中,所以建议定期更改 Github 密码以提高账户的安全性。