Git клонировать через ftps

Хорошо. Итак, мой сайт размещен на InmotionHosting. Это общий сервер, поэтому ssh отсутствует. Я обращался к нему через FTPS. Я использую git на работе, поэтому мне было любопытно начать использовать git для своего личного сайта. Единственная проблема, я не уверен, как подключиться к моему текущему сайту с помощью git. Я знаю, что он совместим с ftps, так как это указано в руководстве, но я получаю сообщение об ошибке:

«не удалось подключиться к [моему сайту]», «не удалось разрешить хост», «фатально: HTTP-запрос не выполнен», «ошибка при доступе к [моему сайту]/info/refs»

Я пробовал:

git clone [имя пользователя]:[пароль]@[сайт] [локальный репозиторий]

git clone [имя пользователя]@[сайт] [локальный репозиторий]

git clone [имя пользователя]@[сайт]:[порт из cpanel] [локальный репозиторий]

git clone [имя пользователя]%40[сайт]@[сайт] [локальный репозиторий]

Ничего не работает. Есть что-то, что мне не хватает? Нужно ли мне что-то устанавливать на сервер? Любая помощь приветствуется. Спасибо!


person Joseph    schedule 18.04.2011    source источник
comment
Как видно из ответа ninjagecko, вам нужно указать протокол для использования. (Если вы оставите его выключенным и укажете user@host, по умолчанию будет использоваться ssh.)   -  person Cascabel    schedule 19.04.2011
comment
У меня такая же проблема, и ничего на этой странице не помогло.   -  person donatJ    schedule 18.08.2011


Ответы (2)


> man git-clone

приводит к:

GIT URLS
       In general, URLs contain information about the transport protocol, the address of the remote server, and the path to the repository.
       Depending on the transport protocol, some of this information may be absent.

       Git natively supports ssh, git, http, https, ftp, ftps, and rsync protocols. The following syntaxes may be used with them:

       ·   ssh://[user@]host.xz[:port]/path/to/repo.git/

       ·   git://host.xz[:port]/path/to/repo.git/

       ·   http[s]://host.xz[:port]/path/to/repo.git/

       ·   ftp[s]://host.xz[:port]/path/to/repo.git/

FTPS, похоже, является одним из разрешенных протоколов.

Попробуйте git clone ftps://host.xz[:port]/path/to/repo.git/

person ninjagecko    schedule 18.04.2011

Я думаю, вы пропустили шаг. Прежде чем вы сможете «клонировать» репозиторий, сам репозиторий должен существовать (инициализироваться). Попытка клонировать каталог на вашем сервере, который не является репозиторием git, потерпит неудачу.

person A.J. Brown    schedule 18.04.2011
comment
Итак, как мне это сделать? Я гуглил, но ничего не нашел об этом, используя только ftps. - person Joseph; 19.04.2011
comment
Если ваш хост не поддерживает его напрямую, я не думаю, что вы можете просто создать репозиторий на сервере. Однако вам не нужно иметь репозиторий на удаленном хосте. Просто используйте git init для локальной настройки каталога, затем скопируйте все свои файлы, используйте git add, затем git commit. Когда вы будете готовы развернуть свои изменения, просто отправьте их на свой сервер по FTP. Возможно, вы сможете передать по FTP репозиторий .git, а затем настроить свой SFTP-сайт как удаленный, но я не уверен. - person A.J. Brown; 19.04.2011
comment
@Joseph: Поскольку репозиторий на самом деле представляет собой просто специальную структуру каталогов / файлов, лучший способ получить голое репо в вашем размещенном пространстве — это создать голый клон вашего репозитория локально (git clone --bare <original-dir> <new-clone-dir>), а затем использовать FTP (S) для прямо скопируйте его на сервер. В этот момент вы сможете использовать git remote add <name> <url> в своем исходном репо, чтобы вы могли использовать короткое имя вместо полного URL-адреса при нажатии/вытягивании. - person Cascabel; 19.04.2011
comment
Это начинает сводить меня с ума. Я пытался создать его локально и скопировать, но он продолжает просить обновить информацию о сервере. Чего я не могу сделать, потому что я все еще не могу заставить Mac OSX смонтировать мой ftp-сайт и сделать его доступным для записи через Finder. Сначала я попробовал Macfusion (который просто вылетает), затем Interarchy. Но все же ради любви к чему-либо, не могу git ;-), чтобы это работало должным образом. @АДж. Я могу запустить статус git на сервере, и он показывает, что он работает, но ничего, кроме этого, я не могу сделать, потому что они не подключены. Любые дальнейшие идеи помогут. - person Joseph; 19.04.2011
comment
@ Джозеф, когда ты говоришь на сервере, что ты имеешь в виду? Вы упомянули, что у вас нет доступа по SSH. - person A.J. Brown; 19.04.2011
comment
@ А.Дж. Я скопировал файлы из моего локального git init через Cyberduck. Затем сделал статус git, смонтировав мой сайт через ftp в Finder на Mac. Но я не могу продвинуться дальше этого, так как Finder не дает разрешений на чтение и запись для ftp. - person Joseph; 19.04.2011
comment
да. После нажатия mount он просто зависает на моем компьютере. Если я подожду, пока он разморозится, он размонтируется. 10.6.7. Я попробовал исправление, которое я нашел в Google от Racker Hacker, но оно не сработало, так как файл, который он говорит удалить, не существует. - person Joseph; 19.04.2011