Передайте имя пользователя и пароль для 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.
Я не видел лучших вариантов для вашей ситуации, но некоторые из настоящих мерзавцев-гуру могут вмешаться.