小编Jes*_*mas的帖子

将 git auth 保留为环境变量而不是评估值

我正在尝试创建一个 bash 脚本来初始化服务器并克隆 git 存储库作为初始化的一部分。

安装用户将个人访问令牌 (PAT) 设置为环境变量 $TOKEN 以通过脚本进行克隆。我希望每个将代码拉取或推送到此克隆存储库的后续用户都可以通过环境变量 $TOKEN 设置其 PAT,而不是使用安装程序使用的原始 PAT。

但是,当脚本克隆存储库时,gitconfig 存储 $TOKEN 的解释值而不是变量 $TOKEN,因此任何后续的拉/推都使用原始安装程序的 PAT。

即当我这样做时:

git clone https://oauth2:$TOKEN@gitlab.com/repo.git
Run Code Online (Sandbox Code Playgroud)

gitconfig 说:

[remote "origin"]
        url = https://oauth2:xxx---actual-token---xxx@gitlab.com/repo.git
        fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)

当我想让它说:

[remote "origin"]
        url = https://oauth2:$TOKEN@gitlab.com/repo.git
        fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何以简单的方式强制每个用户每次都使用他们的令牌。

有任何想法吗?谢谢

git security bash

5
推荐指数
1
解决办法
6629
查看次数

标签 统计

bash ×1

git ×1

security ×1