Почему эта команда git clone не работает? - PullRequest
25 голосов
/ 16 июня 2009

Попытка использовать команду git clone. Насколько я понимаю (пожалуйста, исправьте, если не так), что для того, чтобы разместить Git-репозиторий, вам просто нужен компьютер, на котором запущен ssh, и проект / репозиторий, расположенный на нем в разрешенном месте.

У меня есть мой git-репозиторий в системе OS X, на которой запущен ssh. Я пытаюсь клонировать его в системе Windows XP. У меня на компьютере с ХР установлен Git Bash. В консоли Git bash (MINGW) я могу без проблем подключиться к Mac по ssh.

Однако git clone терпит неудачу ...

$ git clone username@host:~/project/path/contactdb
Initialized empty Git repository in 
  c:/Documents and Settings/Administrator/My Documents/projects/contactdb/.git/
bash: git-upload-pack: command not found
fatal: The remote end hung up unexpectedly

Пробовал с расширением .git и без него:

$ git clone username@host:~/project/path/contactdb

$ git clone username@host:~/project/path/contactdb.git

Нужно ли что-то еще установленное на Mac?

Ответы [ 9 ]

21 голосов
/ 16 июня 2009

Вам нужно установить Git на машине с репозиторием Git, который вы хотите клонировать; также git-upload-pack должен быть в $ PATH на удаленной машине при выполнении ssh. Получаете ли вы что-то вроде следующего ответа при непосредственном подключении к удаленному компьютеру:

$ ssh username@host git-upload-pack --help
usage: git upload-pack [--strict] [--timeout=nn] <dir>

или следующий ( неверный ) ответ:

$ ssh username@host git-upload-pack --help
bash: git-upload-pack: command not found

(конечно, имя оболочки зависит от того, какая удаленная сторона использует).

Что также может быть проблемой (хотя, возможно, и не в вашем случае) из-за неправильной настройки удаленной машины, которая использует интерактивную оболочку для ssh-соединения, либо выдаёт некоторые сообщения о соединении, либо устанавливает интерактивные переменные, такие как печально известная переменная среды $ CDPATH.

6 голосов
/ 05 января 2011

Я решил проблему, добавив следующую строку в мой файл ~ / .bashrc удаленного компьютера:

export PATH=$PATH:"/usr/local/bin:/usr/local/git/bin"

Проблема заключалась в том, что $ PATH не включал / usr / local / git / bin для неинтерактивных сеансов. Добавление в ~ / .bashrc исправило эту проблему.

4 голосов
/ 28 августа 2010

Другим способом было бы сделать:

git clone --upload-pack / path / to / git-upload-pack ssh: // пользователь @ хост / ~ / проект / путь / contactdb

3 голосов
/ 02 июня 2012

Я использовал

git clone mysite.net:/path/to/site

, который работал для меня.

2 голосов
/ 26 августа 2010

У меня была такая же проблема на Mac OS, и я решил ее, скопировав git-upload-pack из / usr / local / git / bin в /bin.

1 голос
/ 01 ноября 2017

У меня была та же проблема, и без удаления просроченного сертификата все печали, что он начал работать. Единственное, что я сделал по-другому, на этот раз было переключение Wi-Fi с подключенного к прокси-сети к моей личной мобильной горячей точке . Затем я запускаю команду ниже в Терминале

$ git clone https://my-login@bitbucket.org/project-folder/project-name.git

Потом началось клонирование и запросил пароль ..

Cloning into 'project-name'...
Password for 'https://my-login@bitbucket.org':

Репозиторий был загружен ..

remote: Counting objects: 2449, done.
remote: Compressing objects: 100% (1244/1244), done.
remote: Total 2449 (delta 1388), reused 1999 (delta 1070)
Receiving objects: 100% (2449/2449), 768.56 KiB | 101.00 KiB/s, done.
Resolving deltas: 100% (1388/1388), done.
0 голосов
/ 31 марта 2013

Я перепробовал все, проверил версии ключей, путей и инструментов. Тем не менее, я не смог клонировать репозиторий из github, используя «git shell», «git gui» и «tortoise git».

Я скачал и установил « Visual Studio Tools for Git » (для которого требовалось «VS2012 Update 2 CTP») и смог клонировать репо из Visual Studio:

  • Нажмите «Главное меню-> Вид-> Team Explorer»
  • Нажмите «Team Explorer-> Подключиться к командным проектам»
  • Нажмите «Team Explorer-> Раздел локальных репозиториев Git-> Клон»
  • Введите URL-адрес Git Repo для клонирования (желтое поле)
  • Введите или найдите локальную папку для клонирования в
  • Нажмите «Клон»

Через мгновение репо было клонировано. Я успешно клонировал полдюжины репо таким образом, где msysgit, github и tortoisegit не работали должным образом.

0 голосов
/ 24 августа 2012

Для msysgit использование опции -u для указания пути к git-upload-pack не работает, когда путь содержит пробелы, потому что кавычки (одинарные, двойные), похоже, не поддерживаются (1.7.11.msysgit.1) , Добавление его в мой PATH сработало (C: \ Program Files (x86) \ Git \ libexec \ git-core). [Однако у меня есть дополнительные проблемы с моей установкой]

0 голосов
/ 06 апреля 2011

Если вы используете SSH, убедитесь, что все ключи SSH настроены правильно.

http://help.github.com/mac-set-up-git/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...