Установите сервер Git с msysgit в Windows

Мы с друзьями пытаемся настроить Git для Windows, используя учебное пособие Git Server: Gitosis и Cygwin для Windows, но мы просто продолжаем сталкиваться с проблемами.

Как бы выглядело руководство "Setup Git Server" для Windows с использованием msysgit?

В приведенном выше руководстве есть комментарий, в котором говорится, что это невозможно сделать с помощью msysgit, потому что для gitosis требуется использование SSH-сервера и Bash? Что такое пошаговое руководство (поскольку его нет в наличии)?

  1. Установить Мизисгит

  2. ?

12 ответов

Я нашел это сообщение и только что опубликовал в своем блоге что-то, что может помочь.

См. Настройка сервера Msysgit с copSSH в Windows. Это долго, но я успешно получил это работает на Windows 7 Ultimate x64.

Bonobo Git Server для Windows

С веб-страницы Bonobo Git Server:

Bonobo Git Server для Windows - это веб-приложение, которое вы можете установить на свой IIS, легко управлять и подключаться к своим репозиториям git.

Bonobo Git Server - проект с открытым исходным кодом, и вы можете найти его на github.

Особенности:

  • Безопасный и анонимный доступ к вашим репозиториям git
  • Удобный веб-интерфейс для управления
  • Управление доступом к репозиторию на основе пользователя и команды
  • Файловый браузер репозитория
  • Зафиксировать браузер
  • локализация

У Брэда Кингсли есть хорошее руководство по установке и настройке Bonobo Git Server.

GitStack

Git Stack - еще один вариант. Вот описание с их веб-сайта:

GitStack - это программа, которая позволяет вам настроить свой собственный Git-сервер для Windows. Это означает, что вы создаете передовую систему управления версиями без каких-либо предварительных знаний Git. GitStack также делает его очень простым для обеспечения безопасности и поддержания вашего сервера в актуальном состоянии. GitStack построен на основе настоящего Git для Windows и совместим с любыми другими клиентами Git. GitStack полностью бесплатен для небольших команд1.

1 базовая версия бесплатна для 2 пользователей

Что касается ссылки на страницу Тима Дэвиса - Настройка сервера Msysgit с copSSH в Windows - я использовал это для запуска сервера Git в Windows 7 Home Premium 64.

Ниже приведено вскрытие / обновление того, что я узнал в дополнение к его инструкциям.

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

  1. Существует шаг, чтобы скопировать все исполняемые файлы Git в ваш каталог bin CopSsh. Вместо того, чтобы копировать файлы и выяснять, какие файлы нужны, добавьте путь к git bin в ваш путь к git. Я сделал это, изменив мой профиль.bashrc и CopSsh.

    Вот что я добавил в.bashrc (в вашем домашнем каталоге CopSsh и Windows):

    gitpath = '/ cygdrive / c / Program Files (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Program Files (x86) / Git / libexec / git-core'

    PATH = $ {gitpath}: $ {gitcorepath}: $ {PATH}

    Вот что я добавил в профиль bash (в CopSsh и т. Д. / Profile):

    gitpath = '/ c / Program Files (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Program Files (x86) / Git / libexec / git-core'

    export PATH = "/ bin: $ syspath: $ gitpath: $ gitcorepath: $ winpath"

    Здесь есть некоторое дублирование - оно работает для меня, поэтому кто-то перезвонил, в котором это правильное место для изменения пути.

  2. В новых версиях msysgit может не отображаться экран выбора исполняемого файла ssh, где вы выбираете между Git ssh и PuTTY ssh. Вам придется установить GIT_SSH вручную, если вы используете PuTTY.

  3. Я не следовал ни одной части инструкций, и это было установка Tortoise - я использовал вместо этого командную строку, так как я предпочитаю изучать vcs, как я это делал с rcs и Subversion, и обнаружил, что это работает для меня. У меня были проблемы с командой clone, использующей ssh. Вот как я это сделал:

    Git клон с использованием ssh - не может найти хранилище

    Именно здесь я ударился головой больше всего.

  4. Каталог установки CopSsh был /Program Files (x86)/ICW. Мне это сошло с рук, но если бы я делал это снова, я бы использовал имя каталога без пробелов.

  5. Эти другие источники помогли мне разобраться:

    Еще один способ настроить Git-сервер в Windows:

    http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP

    Клиентская сторона вещей:

    http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository

    Объяснение Git как сервера (не относится к Windows, но более подробно, чем этапы установки):

    http://progit.org/book/ch4-0.html

    Плюс контроль версий O'Reilly с помощью Git - глава "Удаленные репозитории".

В ретроспективе, если бы я знал, как много времени это займет, я мог бы начать с Mercurial, так как мне проще читать установку на Windows, но у меня будет мнение по этому поводу после того, как я немного поработаю с Git, а затем попробую Mercurial.,

Я не уверен, почему никто не предложил http://gitblit.com/. Чистое решение на основе Java, позволяет протокол HTTP и действительно прост в настройке.

После того, как я последовал руководству Тима Дэвиса и Стиву, вот что я сделал:

Серверный ПК

  1. Установите CopSSH, msysgit.
  2. При создании пользователя CopSSH снимите флажок Аутентификация по паролю и установите флажок Аутентификация с открытым ключом, чтобы ваши открытые / закрытые ключи работали.
  3. Создание открытых / закрытых ключей с помощью PuTTygen. поместите оба ключа в пользовательский каталог CopSSH/home/user/.ssh.
  4. Добавьте следующее в файл CopSSH/home/user/.bashrc пользователя:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. Откройте Git Bash и создайте репозиторий в любом месте на вашем компьютере:

    $ git --bare init repo.git
    Initialized empty Git repository in C:/repopath/repo.git/
    

Клиентский ПК

  1. Установите msysgit.
  2. Используйте закрытый ключ, который вы создали на сервере, для клонирования вашего репозитория с ssh: // user @ server: port / repopath / repo.git (по какой-то причине корнем является диск C :)

Это позволило мне успешно клонировать и фиксировать, но я не мог перейти к голому репо на сервере. Я продолжал получать:

git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

Это привело меня к трассировке и решению Rui, которое заключалось в создании или добавлении следующих строк в.gitconfig в пути %USERPROFILE% вашего клиентского ПК (C:\Users\UserName).

[remote "origin"]
    receivepack = git receive-pack

Я не уверен, зачем это нужно... если бы кто-нибудь мог дать представление, это было бы полезно.

моя версия git 1.7.3.1.msysgit.0

GitStack должен соответствовать вашей цели. У меня есть настройки мастера. Это бесплатно для 2 пользователей и имеет веб-интерфейс пользователя. Это основано на msysgit.

Есть хороший стек Git с открытым исходным кодом, который называется Git Blit. Он доступен для разных платформ и в разных пакетах. Вы также можете легко развернуть его на существующий Tomcat или любой другой контейнер сервлетов. Для получения более подробной информации ознакомьтесь с руководством по настройке git-сервера на Windows в несколько кликов, для базовой настройки потребуется около 10 минут.

Вам не нужен SSH для обмена Git. Если вы работаете в локальной сети или в VPN, вы можете экспортировать проект git в общую папку и смонтировать его на удаленной машине. Затем настройте удаленное репо, используя URL-адреса "file: //" вместо "git@". Занимает всего 30 секунд. Готово!

Там может просто не быть такого руководства. Если это так, то вам может не повезти, чтобы убедить кого-либо написать его, потому что это было бы много работы.

Я бы порекомендовал одну из двух вещей. Проще всего следовать руководству, которое у вас рабское, а значит забыть о msysgit.

Сложнее всего установить Linux-сервер - возможно, в качестве гостя под Windows, используя VirtualBox (бесплатно) или VMWare или Parallels (платно), а затем следовать одному из множества наборов инструкций, к которым приведет вас Google. Но вы, вероятно, сочтете, что этих инструкций недостаточно - они, как правило, предполагают, что вы уже настроили ssh-сервер, например, поэтому вам нужно получить эту информацию в другом месте. Я делал это дважды и могу сказать, что если вы уже не являетесь гуру Linux, это будет проблемой.

Я просто хотел добавить свой опыт работы с настройкой PATH, о которой Стив и Тимк упоминали выше: у меня возникли проблемы с правами доступа при использовании инструментов оболочки (таких как mv и cp), когда исполняемые файлы оболочки Git были первыми в пути.

Добавление их после существующего PATH вместо этого решило мои проблемы. Пример:

GITPATH='/cygdrive/c/Program Files (x86)/Git/bin' GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core' PATH=${PATH}:${GITPATH}:${GITCOREPATH}

Я думаю, что CopSSH не очень хорошо сочетается со всеми исполняемыми файлами оболочки msysgit...

Я сделал то, что предложил Боб Мерфи, это был "жесткий" вариант.

Я установил Ubuntu под VMWare Server (бесплатно) на работе, а затем следовал этому руководству по настройке Gitosis. Я нашел это гораздо проще, чем пытаться запустить его под Windows. После того, как он настроен, вам действительно не нужно его трогать, потому что администрирование Gitosis можно выполнить из Windows, запустив обновленные версии файла gitosis.conf. Любая работа, которую мне нужно выполнить на сервере напрямую, выполняется через PuTTY, поэтому мне не нужно использовать ужасный интерфейс VMWare Server.

Недавно я возился с VirtualBox дома и нашел, что с ним гораздо удобнее / легче работать, чем с VMWare Server, так что, возможно, стоит взглянуть на это.

Я использую GitWebAccess для многих проектов в течение полугода, и это оказалось лучшим из того, что я пробовал. Кажется, однако, что в последнее время источники не поддерживаются, поэтому - не берите последние двоичные файлы / источники. В настоящее время они сломаны:(

Вы можете собирать из этой версии или скачать скомпилированные бинарные файлы, которые я использую здесь.

Другие вопросы по тегам