Как обойти git «Скажи мне, кто ты» для общего репозитория

# #git #gitlab #continuous-integration #continuous-deployment #cicd

Вопрос:

Допустим, есть репозиторий с именем repoA. В gitlab-ci.yml этого репозитория я хотел бы клонировать (и модифицировать) другой репозиторий с именем repoB.

repoA и repoB принадлежат к одной и той же группе Gitlab, и все члены этой группы имеют роль сопровождающего для обоих этих репозиториев. Я создал токен доступа для repoB, который будет использоваться для аутентификации при клонировании репозитория (внутри yml repoA), но, несмотря на токен, git все еще требует объявить user.name и user.mail, чтобы сделать репост.

Сценарий в gitlab-ci.yml запускается после каждой фиксации repoA, так как я могу сделать так, чтобы repoA не требовал настройки для доступа к repoB (с использованием токена доступа)?

В основном так выглядит мой gitlab-ci.yml:

 build-job:   image: "node:16.13.0"  stage: build  script:  - npm ci  - npm run docs:build  - cd ..  - git clone https://lt;token_namegt;:lt;tokengt;@lt;url_to_repoBgt;  

Комментарии:

1. Вы бы git submodule add сделали другое репо. but despite the token, Как вы его клонируете? Пожалуйста, отправьте код.

2. @KamilCuk Я только что отредактировал свой пост.

3. user.name и user.email не используется для аутентификации при клонировании, это просто при фиксации. Вы уверены, что эта ошибка возникает при попытке клонирования? Я спрашиваю, потому что вы можете легко клонировать репозиторий без установки этих двух элементов конфигурации.

4. Вы совершенно правы @LasseV.Karlsen. Он выдает ошибку при повторном выполнении, а не при клонировании.

5. И в этом случае git прав. Вы можете либо настроить эти элементы конфигурации отдельно, либо передать их в командной строке commit с git -c user.email=email@domain.fr -c user.name='Your Name' commit ... помощью (я считаю, что это правильный порядок и синтаксис). В любом случае, чтобы совершить , git должен знать, кто совершает.