Настройка сервера Git с помощью msysgit в Windows

162

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

Каким будет руководство по установке Git Server для Windows с помощью msysgit?

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

  • Установить mysisgit

Показать ещё 1 комментарий
Теги:
msysgit

15 ответов

79

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

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

  • 5
    Для записи, из того, что я могу сказать, в пункте 5.5 в инструкциях Тима, вам нужно вставить дополнительную команду ДО #, а не после (в противном случае она остается закомментированной).
  • 0
    Когда вы проверяете, правильно ли сконфигурирован bashrc, набрав echo $ HOME, вышеприведенное руководство советует вам использовать команду export, если она не выдает правильный каталог. Это временно решит проблему, но если вы закроете консоль и снова откроете ее, echo $ HOME покажет, что экспорт не зависел. Следуйте совету Бенджола в приведенном выше комментарии. Это решит проблему.
Показать ещё 7 комментариев
25

Bonobo Git Сервер для Windows

На веб-странице Bonobo Git:

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

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

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

  • Безопасный и анонимный доступ к репозиториям Git
  • Удобный веб-интерфейс для управления
  • Управление доступом к репозиториям на основе пользователей и команд.
  • Хранилище файлов репозитория
  • Включить браузер
  • Локализация

Брэд Кингсли имеет хороший учебник для установки и настройка сервера Bonobo Git.

GitStack

Git Стек - еще один вариант. Вот описание со своего веб-сайта:

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

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

  • 1
    GitStack бесплатно только для 5 пользователей. После того, как вы превысили этот лимит, вы получаете ежегодную цену, основанную на количестве пользователей. Смотрите страницу с ценами на сайте GitStack.
  • 2
    Обратите внимание, что первоначальный разработчик Bonobo Git Server, Якуб Ходунский, говорит в сообщении на форуме 1 января 2012 года, что больше не может поддерживать проект.
Показать ещё 3 комментария
25

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

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

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

  • Есть шаг, чтобы скопировать все Git исполняемые файлы в ваш экземпляр 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 etc/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"

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

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

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

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

    Вот где я сильнее ударил головой.

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

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

    Другой способ установки сервера 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

    Plus O'Reilly Управление версиями с помощью Git - главы "Удаленные хранилища".

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

  • 0
    У меня проблемы с шагом CopSSH. Ссылка на CopSSH больше не существует ... Меня перенаправили на sourceforge.net/projects/sereds/files, где я могу загрузить только cwRsync_4.0.4_Installer.zip вместо установщика CopSSH. Какие-либо предложения?
  • 0
    Это ссылка, которую я использовал: itefix.no/i2/node/27
Показать ещё 1 комментарий
18

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

  • 0
    Спасибо за отрицательное голосование. Можете ли вы указать причину, по которой голосуйте против этого комментария? Пожалуйста, будьте платными.
  • 0
    Фантастический проект, сделал мой день, спасибо.
16

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

Сервер ПК

  • Установите CopSSH, msysgit.
  • При создании пользователя CopSSH снимите флажок "Аутентификация пароля" и проверьте аутентификацию открытого ключа, чтобы ваши общедоступные/закрытые ключи работали.
  • Создание открытых/закрытых ключей с помощью PuTTygen. поместите оба ключа в каталог пользователя CopSSH/home/user/.ssh.
  • Добавьте к пользователю файл 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}
    
  • Откройте Git Bash и создайте репозиторий в любом месте на вашем ПК:

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

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

  • Установить msysgit.
  • Используйте закрытый ключ, созданный на сервере, для клонирования вашего репо из 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% path (C:\Users\UserName).

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

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

my Git версия - 1.7.3.1.msysgit.0

8

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

  • 1
    Цены на веб-сайте GitStack: бесплатно для 5 пользователей, 299 долларов в год для 6-10 пользователей, 499 долларов в год для 11-25 пользователей и т. Д. До 2999 долларов в год для 500 пользователей.
  • 1
    GitStack теперь бесплатно только для 2 пользователей.
Показать ещё 1 комментарий
6
5

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

  • 0
    Работал как шарм. Бесконечно благодарен.
  • 0
    Добро пожаловать, я рад, что это было полезно
Показать ещё 2 комментария
3

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

2

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

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

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

1

Еще одно решение - Gitwin - сервер хранилищ Git, открытый в Openssh для Windows. Доступна бесплатная версия.

1

Я использовал инструмент http://www.windowsgit.com, как предложил компьютерный лингвист после попытки (и неудачи) с помощью приведенных выше методов. Это было смешно легко и просто сработало. Ну стоит $9, ИМО.

1

Я просто хотел добавить свой опыт в настройку PATH, которую Стив и timc упоминают выше: у меня возникли проблемы с правами на использование инструментов оболочки (например, 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...

1

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

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

Я недавно общался с VirtualBox дома, и мне было намного удобнее работать с ним, чем VMWare Server, поэтому, возможно, стоит посмотреть на это.

0

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню