通过命令行以编程方式设置 git 凭据缓存



我正在使用命令git config credential.helper 'cache',所以我不必重复输入我的用户名和密码。但是,这需要我设置一次凭据。有没有办法我可以初始化缓存,从 runitme 可用的环境变量中管道输入值(比如$USER$PASS(,但不让它长期存储?

我不想使用git config user.name "your username"和等效的password命令,因为它会尝试以明文形式存储密码。我基本上只想在脚本中运行

git config credential.helper 'cache'
git config /*set $USER in cache*/
git config /*set $PASS in cache*/

但不确定第二个和第三个命令会是什么样子,如果它们存在的话。

可以使用git credential approve来启动缓存,如git-credential(1)手册页中所述,但有一种更简单的方法可以执行所需的操作。

您使用的凭据帮助程序可以是任意 shell 脚本,该脚本可以根据环境生成标准格式。 所以你可以这样做:

git config credential.helper '!f() { printf "%sn" "username=$USER" "password=$PASS"; };f'

当然,在许多环境中,使用无密码SSH密钥更容易,更安全,但在某些情况下,例如容器构建,不允许以安全的方式这样做,因此我上面给出的示例可能会有所帮助。

最新更新