0

我正在使用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/credentialsgit push

4

0 回答 0