Почему $HOME/.config/git/credentials игнорируется, когда semantic-release делает git push
Я использую git 2.19.0, и у меня сбой задания по выпуску CI.
Я хочу аутентифицироваться, используя git git-credentials.
Вот как я создаю свои $HOME/.config/git/credentials
if [[ "${CI_PROJECT_URL}" =~ (([^/]*/){3}) ]]; then
mkdir -p $HOME/.config/git
echo "${BASH_REMATCH[1]/:\/\//://gitlab-ci-token:${GL_TOKEN:-$GITLAB_TOKEN}@}" > $HOME/.config/git/credentials
git config --global credential.helper store
fi
Это то, что я имею в .git/config
:
[fetch]
recurseSubmodules = false
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@git.example.com/some-org/some-project.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
Это то, что я имею в $HOME/.config/git/credentials
:
$ cat $HOME/.config/git/credentials
https://gitlab-ci-token:Dwq456WQd4q56QW@git.example.com/
Тем не менее, когда я делаю git push
, он не может использовать эту конфигурацию, вместо этого он читает тот из .git/config
в рамках проекта.
дела cp $HOME/.config/git/credentials ~/.git-credentials
не помогло.
Почему $HOME/.config/git/credentials будет игнорироваться, когда я это сделаю git push
?