Передайте имя пользователя и пароль для git pull

Есть ли способ предоставить имя пользователя и пароль для git pull в качестве аргументов командной строки? в свн было что-то вроде:

svn up --no-auth-cache --username $SVN_USER --password $SVN_PASSWORD

Есть ли эквивалент этого в git? Я не могу сохранить учетные данные в файловой системе.

По сути, у меня есть скрипт, выполняющий сборку для нескольких взаимосвязанных проектов. Поскольку скрипт находится на общем сервере и должен запускаться разными пользователями, я не могу сохранить учетные данные на сервере. Я не хочу запрашивать пользователя, потому что скрипт выбирает данные из нескольких репозиториев SVN/GIT с одним именем пользователя / паролем, поэтому я хочу прочитать учетные данные один раз через скрипт и затем передать их командам git pull или svn up

1 ответ

Если вы используете HTTPS, решение может быть в этом ответе:

Небезопасный способ - включить учетные данные в URL, который вы запрашиваете, https://user:password@server.com/path/to/repo, Судя по всему, ваши учетные данные заканчиваются в виде простого текста в папке.git и / или в файлах журнала.

Безопасным способом является настройка "помощника по учетным данным" в git. Затем он запомнит учетные данные после их использования. Он будет надежно хранить учетные данные на компьютере, но если вы используете общесистемную конфигурацию, они будут применяться ко всем пользователям. Например, с msysgit в Windows я бы использовал wincred helper: git config --system credential.helper wincred, Я понимаю, что --system включает помощник по учетным данным для всех репозиториев и всех пользователей системы, поэтому вам нужно будет решить, подходит ли это для вашего сервера. Отказ от ответственности: я раньше использовал только --global.

Я не видел лучших вариантов для вашей ситуации, но некоторые из настоящих мерзавцев-гуру могут вмешаться.

Другие вопросы по тегам