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

163

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

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

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

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

  2. ?

Кара
источник
* Git для разработчиков Windows . 3 части, это ссылка на первую. Хороший! * Иллюстрированное руководство по Git на Windows * Git Extensions (видео)
Ладья
Я использовал этот инструмент на windowsgit.com, как предложил компьютерный лингвист, после попытки (и неуспешной) описанными выше способами. Это было смехотворно легко и просто сработало. Хорошо стоит 9 долларов, ИМО.
Эдвард Андерсон
Вы можете попробовать Git Candy, платформу Git, основанную на ASP.NET MVC. Источник: github.com/Aimeast/GitCandy , демо- версия
Aimeast

Ответы:

79

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

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

Тим
источник
5
Для записи, из того, что я могу сказать, в пункте 5.5 в инструкциях Тима вам нужно вставить дополнительную команду ДО #, а не после (в противном случае она остается закомментированной).
Бенджол
1
Вы можете взглянуть на windowsgit.com .
Река Лилит
6
Обратите внимание, что Copssh не предоставляется на sourceforge и больше не является бесплатным с 2012 апреля.
TiansHUo
2
@ Тим, ты можешь опубликовать здесь содержимое своего блога? Если ваш блог переходит в автономный режим, тогда этот ответ становится бесполезным.
Морская звезда
1
@Starfish - это то, для чего web.archive.org! Вот статья Тима: web.archive.org/web/20100207010332/http://www.timdavis.com.au/…
alldayremix
27

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 пользователей

Даниил
источник
1
GitStack бесплатно только для 5 пользователей. После того, как вы превысили этот лимит, вы получаете годовую цену, основанную на количестве пользователей. Смотрите страницу с ценами на сайте GitStack.
Саймон Тьюси
2
Обратите внимание, что первоначальный разработчик Bonobo Git Server, Якуб Ходунский, говорит в сообщении на форуме 1 января 2012 года, что он больше не может поддерживать проект.
Саймон Тьюси
2
GitStack теперь бесплатно только для 2 пользователей.
M4N
2
Bonobo снова активно работает над проектом.
Томас Кубес
2
Просто не забудьте активировать IIS> WWW Services> Функции разработки приложений> ASP.NET 4.5. Bonobo работал для меня, а GitStack (который даже не мог использовать основной msysgit) не работал, а Bonobo имеет открытый исходный код и лицензирован на MIT! Это предлагает удовлетворительное решение для Windows, так как я бы предпочел использовать машину Unix для этой цели.
Будет
26

Что касается ссылки на страницу Тима Дэвиса - Настройка сервера 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. ,

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

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

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

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

Серверный ПК

  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

ТММК
источник
8

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

poiuytrez
источник
1
Цены на веб-сайте GitStack: бесплатно для 5 пользователей, 299 долларов в год для 6-10 пользователей, 499 долларов в год для 11-25 пользователей и т. Д., До 2999 долларов в год для 500 пользователей.
Саймон Тьюси
1
GitStack теперь бесплатно только для 2 пользователей.
M4N
Итак, 1 пользователь для того, кто настраивает сервер, 1 пользователь для клиента, который посещает сервер. Этот предел слишком строг. Команда из 2 разработчиков слишком мала в реальном мире.
ZhaoGang
7

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

Руслан Платонов
источник
Работал как шарм. Бесконечно благодарен.
AndroidDev
Добро пожаловать, я рад, что это было полезно
Руслан Платонов
Это хороший выбор. прост в использовании для меня. Не тестировал удаленный git commit, но я полагаю, он будет работать. Кстати, ссылка больше не доступна.
ZhaoGang
Ссылка больше не существует.
Шихе Чжан
3

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

Джон Ватт
источник
2

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

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

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

Боб Мерфи
источник
1

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

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

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

Джейкоб Стэнли
источник
1

Я просто хотел добавить свой опыт с настройкой 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 ...

kjellander
источник
0

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

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

Иван Данилов
источник