📅  最后修改于: 2023-12-03 14:56:56.893000             🧑  作者: Mango
在使用 Github 进行开发的过程中,我们通常需要频繁地进行 pull、push 操作,而每次操作都需要输入用户名和密码,即使输入正确也可能因为时效问题导致不断地输入。为了解决这个问题,我们可以考虑将 Github 凭据缓存起来。本文将介绍如何在 Shell/Bash 环境下缓存 Github 凭据,以便更加便捷地进行开发。
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 凭据。
echo 'machine github.com login USERNAME password TOKEN' > ~/.netrc
其中,'USERNAME' 是你的 Github 用户名,'TOKEN' 则是上一步获取的访问令牌。这个命令会将凭据信息写入到一个名为 .netrc 的隐藏文件中,这个文件会使用密码模式进行保护。
[credential]
helper = cache --timeout=3600
这个命令会将 Git 凭据缓存功能启用,并设置缓存的有效时间为 3600 秒(即 1 小时)。如果你不希望设置缓存有效时间,可以将整行代码中的 '--timeout=3600' 删除即可。
至此,我们就完成了在 Shell/Bash 环境下对 Github 凭据的缓存。在以后的开发过程中,每次进行 pull、push 等操作就无需再输入密码了,非常方便。需要注意的是,由于缓存的 Github 凭据信息存在本地的文件中,所以建议定期更改 Github 密码以提高账户的安全性。