2013-03-29 2 views
0

Я не уверен, что я делаю неправильно. Раньше я использовал Zend Studio, и он обрабатывал все, что Гит относил для меня и до сих пор делает с этого момента. Но я бросаю Zend Studio и делаю это вручную.Windows Git to Linux Remote

Моя текущая настройка - Windows 8, и я установил двоичные файлы Git Windows на свою машину. Я могу совершать локальный репозиторий без каких-либо проблем.

На моей машине с удаленным Linux у меня установлены настройки хранилищ, и я могу без проблем работать с репозиторией.

На машине Linux я начинаю Git, как это: /usr/local/git/libexec/git-core/git-daemon --verbose --export-all --base-path=/usr/local/git/repository --base-path-relaxed --listen=git.sitegoodies.net --enable=receive-pack

и возвращает [1619] Ready to rumble

На моей машине Windows, я совершил несколько изменений, и теперь я хочу, чтобы подтолкнуть их к моему удаленному хранилищу и я делаю это так: git push git://git.sitegoodies.net/test.git master

можно увидеть следующее:

$ git push git://git.sitegoodies.net/test.git master 
Counting objects: 6, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (4/4), done. 
Writing objects: 100% (6/6) 

Но теперь он просто сидит там. Так что я смотрю на свою Linux консоль с момента, когда я начал Git, и я вижу это:

[1619] Ready to rumble 
[1622] Connection from [fd35:4776:6804:1::1]:58695 
[1622] Extended attributes (26 bytes) exist <host=git.sitegoodies.net> 
[1622] Request receive-pack for '/test.git' 

Так что для меня это выглядит, как все должно работать. За исключением всего, что сидит там, пока я не нажму Ctrl + C, чтобы отменить его от нажатия на мой репозиторий удаления. Я действительно не знаю, что не так, поэтому я надеюсь, что у кого-то есть идея, которую я могу попробовать.

У меня нет брандмауэра.

Мои хранилища расположены в/USR/местные/мерзавца/репозиторий Для создания test.git:

  • Я CD'd в моем хранилище каталога, mkdir test.git
  • CD в папку test.git и пробег git --bare init

У кого-нибудь есть идеи?

ответ

1

Не делайте этого — pushing to git-daemon is broken in Git for Windows. Все попытки, предпринятые по сей день для отладки этой проблемы, потерпели неудачу.

Итак, лучше всего использовать SSH-транспорт, я полагаю, — this is not hard.

+0

@ Diemuzi, также я надеюсь, что вы четко поймете, что 'git-daemon' обеспечивает нулевую аутентификацию, поэтому, разрешив вам через них, вы открыли свои репозитории всем, кто может подключиться к порту демона. Конечно, вы можете находиться в контролируемой среде, но я хотел убедиться, что с вашей стороны не возникает недоразумений. – kostix

+0

Да, моя установка в настоящее время ограничена моей локальной сетью, так как у меня нет внешнего подключения, чтобы беспокоиться. Это еще одна причина, по которой я перечислил, что у меня нет брандмауэра. Все строго локально. – Diemuzi

+0

@Diemuzi, в любом случае, нажатие работает нормально, когда обмен происходит при посредничестве SSH-клиента (или с использованием 'libcurl', если вы работаете через HTTP [S] -транспорт), но зависает, если это происходит через обычный сокет Windows. Никто точно не знает, почему именно. – kostix