git clone с msysGit в Windows не работает - PullRequest
4 голосов
/ 21 сентября 2009

Я установил msysGit на нескольких компьютерах, и у меня проблемы только на одном конкретном компьютере (конечно, на моем основном рабочем компьютере). «git clone» не работает. Когда я запускаю команду клонирования в репозитории, это происходит:

C:\Projects>git clone git://github.com/[user]/[project].git
Initialized empty Git repository in C:/Projects/[project]/.git/

Он начинает заполнять каталог .git, но никогда больше не тянет вниз. Я оставил его на пару часов, чтобы посмотреть, не выдаст ли оно хотя бы ошибку. Он продолжает сидеть там. Если я попытаюсь отменить его, он работает просто отлично. Кажется, это никогда не сносит хранилище. Я пробовал это на нескольких репозиториях из разных мест. Кто-нибудь знает, что может происходить?

Ответы [ 2 ]

4 голосов
/ 21 сентября 2009

Вы пытались клонировать с http-адресом?

В настоящее время это билет с msysgit ( выпуск 136 ) с той же проблемой, для которой текущий обходной путь заключается в клонировании с http, а не с адресом git.

Другие ходы, чтобы попробовать:

  • GIT_TRACE=1 (и опубликовать вывод)
  • попробуйте другие или более старые версии msysgit
  • проверка на наличие проблем с брандмауэром / антивирусом на главном компьютере

Здесь переход на более старую версию msysgit может быть правильным вариантом:
Посмотрите эту тему поддержки GitHub :

Используете ли вы пререлиз 1.6.4 msysGit? Есть известные ошибки с ним.
Мы рекомендуем стабильную версию, такую ​​как 1.6.0.

спасибо, Крис, вот и все: после возврата к предыдущей версии msysGit (Git-1.6.3.2-preview20090608.exe) проблема больше не возникает.


На самом деле проблема может касаться любого Git1.6.4 и старше:

git пытается проверить, существует ли файл пакета, отправив запрос HEAD, но подавляет ошибку 500, которую возвращает некоторые (если не все) github.

Использование репозитория, используемого репортером:

$ curl http://github.com/grails/grails.git/objects/info/packs
P pack-1290e84bed53bda28f0989dca48d836bd9104031.pack
P pack-bf40d38ae780512994e5127e832ed9d8853c186d.pack
P pack-f490d5f7d4671368f4a52c618ca9dce13b714ba1.pack
P pack-79e3a7f30e8989acc8403ac688be669a05384eef.pack

$ curl -I http://github.com/grails/grails.git/objects/pack/pack-bf40d38ae780512994e5127e832ed9d8853c186d.pack
HTTP/1.1 500 Internal Server Error
Server: nginx/0.6.26
Date: Fri, 04 Sep 2009 13:50:20 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Content-Length: 3193
Cache-Control: no-cache

См. эту тему .
Служба поддержки GitHub в настоящее время изучает проблему:

Я не думаю, что 500-е являются преднамеренными, но может быть что-то странное с нашей настройкой, которая их вызывает.
У меня есть билет, открытый для дальнейшего изучения проблемы. У меня такое чувство, что мы не будем связываться с этим до окончания переезда, поскольку, скорее всего, это что-то с конфигурацией сервера.


Git1.6.4.4 содержит исправление с 16 сентября:

Обходной путь для сервера Github, который иногда выдавал ответ 500 (Внутренняя ошибка сервера) на запросы HEAD в 1.6.4.3, привел к регрессии, которая в некоторых случаях вызывала повторное получение проектов через http на segfault из-за освобождения неинициализированного указателя.

Но mssysgit еще не выпустил (21 сентября) любую новую сборку, начиная с оригинальной версии 1.6.4 в конце июля. (Они, вероятно, ждут 1.6.5 или 1.7)

0 голосов
/ 29 июня 2015

У меня была эта проблема, и оказалось, что это был шаг, принимающий блокировку ключа удаленного хоста. Я просто ssh'd нормально к хосту, принял ключ, а затем вернулся к Git и все работало.

...