Я пытаюсь использовать PHPseclib для SSH и запускать команды на удаленном сервере. Я хочу изменить каталог и команды, такие как git pull или clone. Есть ли способ сделать это? Я знаю, что "cd" плохо работает с exec. Так есть ли альтернативы этому? Спасибо
Как изменить каталог и запустить команды git с помощью PHPseclib?
comment
Вы можете использовать интерактивный режим. например. $ssh-›read() / $ssh-›write()
- person neubert   schedule 13.03.2014
Ответы (1)
Вам не нужно менять папку, только указать ее для вашей команды git.
git --git-dir=/path/to/repo/.git --work-tree=/path/to/repo remote add xxx
git --git-dir=/path/to/repo/.git --work-tree=/path/to/repo pull
Начиная с git 1; 8.5 (если на вашем сервере установлена достаточно свежая версия git), вы даже можете использовать короткую версию (подробно здесь а>)
git -C /path/to/repo remote add xxx
git -C /path/to/repo pull
person
VonC
schedule
08.03.2014
Я пытаюсь использовать команду обновления подмодуля git, которая, по-видимому, не работает с --git-dir. Любые другие альтернативы? Спасибо!
- person Ananth Ravi; 09.03.2014
@AnantakrishnanRavi, тогда опция
-C
должна работать. Вы должны находиться в корневой папке родительского репо (тот, который объявляет подмодули и включает папки подмодулей)
- person VonC; 09.03.2014