2017-01-19 5 views
0

У меня есть удаленная машина с программой, которая загружает некоторые исходные коды из некоторых репозиториев, используя только svn-пользователя для этой программы. Теперь работаете с SVN без взаимодействия человека делать так думает:Как использовать команды git без взаимодействия с человеком?

Doing извлечения:

p = Runtime.getRuntime().exec("svn checkout --non-interactive --trust-server-cert --username "+Constants.svnUser+" --password "+Constants.svnPassword+" "+repositoryURL+" ." , null , dir); 

Обновления код:

p = Runtime.getRuntime().exec("svn update --non-interactive --trust-server-cert --username "+Constants.svnUser+" --password "+Constants.svnPassword+" ", null , dir); 

Он отлично работает, но теперь я пытаюсь скачать источник код из репозиториев Git, используя только git-пользователя только для чтения, и я не могу найти способ сделать то же самое неинтерактивное поведение с git.

С учетом git-репо, пользователя git и пароля git, как инициализировать git и клонировать, проверять или тянуть исходный код без взаимодействия с человеком?

Невозможно найти информацию о том, как достичь этого, чтобы эти три предмета.

Большое вам спасибо заранее.

ответ

0

В командах Git нет переключателя --non-interactive, вам просто нужно убедиться, что вы не вызываете команду так, чтобы она была интерактивной. Это e. г. означает, что вы не должны использовать git pull, так как это делает merge или rebase в соответствии с вашей конфигурацией и параметрами, и это может привести к конфликтам, которые необходимо устранить вручную. Вместо этого вы должны использовать git fetch, а затем команду, которая просто заменяет рабочее дерево тем, что приходит с удаленного, например git reset --hard master origin/master или что-то в этом роде.

Возможно, вы указали, какие команды вы хотите использовать от http://gitolite.com/deploy.html.

+0

И когда моя программа передаст пароль git без взаимодействия с человеком? – NullPointerException

+0

Я бы рекомендовал использовать SSH-ключ для аутентификации вместо имени пользователя/пароля. – Vampire

+0

ОК, но, как добиться этого с помощью имени пользователя и пароля? Кстати, у вас есть хороший образец или учебник о том, как это сделать с помощью ssh? У меня нет опыта с этим – NullPointerException

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