Intereting Posts

Выполнение удаленных команд через SSH

igor@IgorReinCloud ~/dbhandler $ ssh igorkorot@192.168.1.3:/dbhandler/dbhandler  origin/master Updating 667ca95..4a93607 Fast-forward libdbwindow/databasecanvas.cpp | 1 + 1 file changed, 1 insertion(+) 

Означает ли это, что я должен создать какой-то скрипт с просто git pull внутри, чтобы он выполнялся правильно? Или я что-то не так делаю?

[РЕДАКТИРОВАТЬ]

Я пытаюсь добиться следующего:

Я на своем компьютере с Linux пытаюсь подключиться к одному из моих ноутбуков OSX (192.168.1.3). Этот ноутбук Mac работает под управлением OSX 10.8. До недавнего времени все работало нормально, но затем GitHub перешел с использования SSL 1.0 на SSL 1.2 или что-то в этом роде. И, конечно же, попытки выполнить удаленные операции из OSX теперь терпят неудачу.

Однако, если я попытаюсь выполнить это в Linux, все будет работать как положено, так как версия Git / OpenSSL для Linux новее и, следовательно, запуск git pull / fetch / push / etc будет успешным.

Поэтому моя конечная цель – выполнить git pull для запуска git с локальной машины (Linux), чтобы обновить repository, расположенный на удаленной машине (OSX).

Надеюсь, теперь ясно, чего бы я хотел достичь.

[/РЕДАКТИРОВАТЬ]

    < является оператором для перенаправления файла в качестве ввода. git pull - это команда, а не файл. Вы можете сделать это так:

     echo "git pull" | ssh igorkorot@192.168.1.3:/dbhandler/dbhandler 

    Или правильный путь:

     ssh igorkorot@192.168.1.3:/dbhandler/dbhandler git pull 

    Посмотрите на возможные вызовы в man ssh :

    ssh (...) [пользователь @] имя хоста [команда]

    У вас есть дополнительная команда там.

    Интересно, если вашей команде не нужно дополнительное исправление:

     ssh igorkorot@192.168.1.3 bash -c "cd /dbhandler/dbhandler && git pull" 

    ^ Я не думаю, что ваш путь должен быть там при выполнении команд. С помощью bash -c "some-commands" вы можете обойти это.

    Редактировать:

    После прояснения кажется, что хорошим решением является монтирование папки проекта Mac на компьютер с Linux и использование там git , а все остальное - на Mac. Вы можете сделать это с помощью SSHFS : https://www.digitalocean.com/community/tutorials/how-to-use-sshfs-to-mount-remote-file-systems-over-ssh

    Моим предпочтительным решением было бы обновить git вашего Mac, чтобы он поддерживал SSL 1.2. Если обновления для Mac еще нет, вы можете попробовать скомпилировать его самостоятельно и установить скомпилированную версию.