Есть ли в настоящее время способ разместить общий репозиторий Git в Windows? Я понимаю, что вы можете настроить службу Git в Linux с помощью:
git daemon
Есть ли собственный вариант Windows, за исключением общих папок, для размещения службы Git?
РЕДАКТИРОВАТЬ: в настоящее время я использую cygwin install git для хранения и работы с репозиториями git в Windows, но я хотел бы сделать следующий шаг по размещению репозитория со службой, которая может предоставлять доступ другим.
git daemon
. : \Ответы:
Вот несколько шагов, которые вы можете выполнить, чтобы запустить демон git под Windows:
(Предварительные требования: установка Cygwin по умолчанию и клиент git, поддерживающий демон git)
Шаг 1. Откройте оболочку bash
Шаг 2 : В каталоге / cygdrive / c / cygwin64 / usr / local / bin / создайте файл с именем «gitd» со следующим содержимым:
Шаг 3 : Выполните следующую команду cygrunsrv из командной строки с повышенными привилегиями (например, от имени администратора), чтобы установить скрипт как службу (примечание: предполагается, что Cygwin установлен в C: \ cygwin64):
Шаг 4 : Выполните следующую команду, чтобы запустить службу:
cygrunsrv --start gitd
Вы сделали. Если вы хотите протестировать это, вот быстрый и грязный сценарий, который показывает, что вы можете передать протокол git на свой локальный компьютер:
источник
GitStack может быть вашим лучшим выбором. В настоящее время он бесплатный (для 2 пользователей)
и с открытым исходным кодомна момент написания.источник
Вот выделенный сервер git для Windows: https://github.com/jakubgarfield/Bonobo-Git-Server/wiki
источник
git update-server-info
) после HTTP push, и эта логика не реализована их библиотекой Git (GitSharp). Сомневаюсь, что в ближайшее время он выйдет на реальное рабочее состояние.Если вы работаете в среде Windows, рассматривали ли вы Mercurial ? Это распределенная система контроля версий, такая как Git, но она гораздо проще и аккуратнее интегрируется с Windows.
источник
Установка CygWin является излишним, прочтите этот урок о том, как сделать это быстрее и роднее:
http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP
источник
Если вы получили сообщение об ошибке
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.
после выполнения команды:это означает, что вы не создавали папку «base-path».
Создание папки '/ git' и повторный запуск команды исправят это.
источник
/git
разрешения NTFS не разрешают доступ для чтения / записи учетной записи службы (SYSTEM).В настоящее время я использую демон ssh cygwin в Windows для обслуживания и предоставления удаленного доступа к моему репо. Он работает довольно хорошо, я полностью контролирую, кто получает доступ к моему репо по их сертификатам ssh, а производительность пламени даже по удаленным каналам WAN и VPN.
Другое решение - использовать Gitosis . Это инструмент, который значительно упрощает размещение репозиториев.
источник
Вам не нужно размещать службу, вы также можете создать общий репозиторий на общем диске. Просто создайте пустой репозиторий. Вы можете клонировать существующее репо в совместно используемое, используя: "git clone --bare --shared [source] [dest]". Вы также можете создать новый репозиторий, используя «git init --bare --shared = all».
Хенк
источник
Вы рассматривали возможность использования слоя cygwin? См. Эту ссылку .
источник
Теперь msysGit поддерживает git daemon! Он отлично работает (по крайней мере, у меня). Я постараюсь запустить его как службу ...
источник
SCM-менеджер
источник
В Windows вы также можете обслуживать репозитории Git с помощью Apache через HTTP или HTTPS, используя расширение DAV.
Затем путь к репозиторию Git можно защитить с помощью проверок аутентификации Apache, таких как ограничение определенных IP-адресов или аутентификация типа htpasswd / htdigest.
Ограничение использования аутентификации htpasswd / htdigest заключается в том, что имя пользователя: пароль передается в запрошенном URL-адресе Git, поэтому лучше ограничить доступ к URL-адресу Git для определенных IP-адресов.
Изменить: обратите внимание, вы можете оставить пароль вне URL-адреса Git, и Git предложит вам ввести пароль при нажатии и извлечении / извлечении.
Использование HTTPS означает, что все данные передаются в зашифрованном виде.
Достаточно легко настроить и работает.
В следующем примере показано сочетание управления доступом по IP-адресу и пользователю: пароль по стандартному HTTP.
Пример виртуального хоста Apache
Пример .git / config
источник
На работе я использую GitBlit GO, установленный на Windows Server. Работайте безупречно и хорошо интегрируйтесь с ActiveDirectory для аутентификации и авторизации пользователей. Это также бесплатно и с открытым исходным кодом (под лицензией Apache)
Домашняя страница GitBlit
Поддерживается только доступ по протоколу HTTP (S), без SSH, но под Windows вам больше ничего не нужно.
источник
это ответ 2015 года на вопрос, которому более 7 лет.
За единовременный платеж в размере 10 долларов на https://bitbucket.org/product/server можно приобрести 64-битную лицензию Windows для 10 пользователей .
Видимо 32-битные версии доступны только через их архив.
Bitbucket Server ранее назывался Stash .
Обратите внимание, что я не пробовал эту версию, но 10 долларов кажутся хорошей сделкой; здесь я читал, что Atlassian раздает 10 долларов на благотворительность. FWIW
источник
Я думаю, что Хенк говорит, что вы можете создать общий репозиторий на диске, а затем скопировать его в какое-нибудь общее место, к которому у вас обоих есть доступ. Если есть какой-то сервер компании или что-то, к чему у вас обоих есть доступ по ssh, вы можете поместить репозиторий в какое-нибудь место, где вы сможете SCP вернуть его на свой компьютер, а затем извлечь из него. Некоторое время я делал это для себя, так как у меня два компьютера. Это хлопотно, но работает.
источник
Для Windows 7 x64 и Cygwin 1.7.9 мне нужно было использовать / usr / bin / gitd в качестве аргумента args для cygrunsrv
Кроме того, для установки службы мне нужно было запустить bash от имени администратора.
источник