Я использую 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
?