Custom Git Помощник по учетным данным - PullRequest
0 голосов
/ 08 января 2020

Я запускаю git из изолированной среды. Это означает, что git не может видеть ssh-agent или они используют системную цепочку для ключей для получения учетных данных. Теперь я хотел написать пользовательский помощник для учетных данных 1 , использующий учетные данные api 2 , который я могу связать со своим исполняемым файлом и использовать его собственную цепочку ключей для учетных данных.

Кажется, однако, что помощники по учетным данным могут быть настроены статически только для каждого URL-адреса с использованием .gitconfig.

. Есть ли способ указать git push/pull/fetch использовать пользовательский помощник, передав его в командной строке или каким-либо другим способом? предоставить пользовательские учетные данные?


1 https://git-scm.com/docs/gitcredentials
2 https://git-scm.com/docs/api-credentials

1 Ответ

2 голосов
/ 08 января 2020

Вы можете передать пользовательский аргумент конфигурации при вызове git, используя опцию -c:

git -c credential.helper=foo push origin master

Что более важно, вам может не понадобиться помощник, так как вы также можете настроить помощник по учетным данным для чтения из окружения (в данном случае, переменных USERNAME и PASSWORD):

git \
  -c credential.helper="!f(){ printf 'username=%s\npassword=%s\n' "$USERNAME" "$PASSWORD" };f" \
  push origin master

Конечно, вы можете найти пользовательский помощник по учетным данным или более производительный, чем вызов оболочки, и это нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...