2012-03-07 2 views
4

Я написал сценарий оболочки для выпуска проекта с Git, в сценарии оболочки я сначала cd с рабочей копией Git, а затем сделаю git pull origin master.
Но это побуждает меня пароль: [email protected]'s password:, это раздражает, и мне интересно, если я могу указать пароль для git pull в сценарии, как это:
git pull origin master --password abcd123
Любая идея?указать пароль для git pull в сценарии оболочки, без ssh?

+0

Я хочу указать пароль, а не конфиг ssh, потому что мне нужно сделать этот скрипт исполняемым с php-страниц. – adamsmith

+0

Я помню, что была программа для ввода паролей из скриптов. Не могу вспомнить, как это называется. – Ikke

+0

Буду признателен, если вы скажете мне, что это такое, когда вы вспоминаете. Почему Git не поддерживает аргумент -password или что-то подобное, клиент mysql и mongodb и многие другие инструменты поддерживают это. – adamsmith

ответ

3

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

Решение здесь - использовать ssh и запустить агент ssh. Агент загружает ваш закрытый ключ и передает его сценарию оболочки, когда он пытается подключиться к удаленной стороне через SSH. Таким образом, вам нужно всего лишь передать свою фразу для агента.

Этот блог должен дать вам более подробную информацию: Password-less logins with OpenSSH

Если вы используете Windows, putty поставляется с той же функциональностью.

+2

Это не отвечает на заданный вопрос. Это просто говорит «Делайте это так, а не», лучшие практики или нет, вы должны ответить на вопрос. Некоторые реализации git (TFS) dosnt прекрасно сочетаются со сценариями, потому что вам нужно делать что-то в окнах. Любой дефолтор расскажет вам о автоматизации задач, в которых вы ХОТИТЕ пароли в исходном контроле (в защищенном репо, конечно) –

+0

@CyberMen: Вот почему я написал «запустить агент ssh». Загрузите свои ключи (из любого защищенного источника) в агент и вы установите. Если у вас есть версия Git, которая не поддерживает скрипты, вы используете неправильный инструмент. –

Смежные вопросы