Хостинг Git Repository в Windows - PullRequest
       26

Хостинг Git Repository в Windows

107 голосов
/ 24 октября 2008

Есть ли в настоящее время способ размещения общего хранилища Git в Windows? Я понимаю, что вы можете настроить службу Git в Linux с помощью:

git daemon

Есть ли собственный вариант Windows, если не считать общих папок, для размещения службы Git?

EDIT: В настоящее время я использую Cygwin для установки git для хранения и работы с git-репозиториями в Windows, но я бы хотел сделать следующий шаг - разместить репозиторий со службой, которая может предоставлять доступ другим.

Ответы [ 16 ]

4 голосов
/ 24 октября 2008

Рассматривали ли вы использование слоя Cygwin? Смотрите эту ссылку .

2 голосов
/ 06 декабря 2015

это ответ 2015 года на вопрос, которому более 7 лет.

За 10 долларов одноразовый платеж, от https://bitbucket.org/product/server, можно приобрести 64-разрядную лицензию Windows для максимум 100 * 10 пользователей .

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

Bitbucket Server ранее был известен как Stash .

Обратите внимание, что я не пробовал эту версию, но 10 долларов кажутся хорошей сделкой; здесь Я читал, что Атлассиан дает 10 долларов на благотворительность. FWIW

2 голосов
/ 31 октября 2013

На работе я использую GitBlit GO, установленный на Windows Server. Работайте безупречно и хорошо интегрируйте с ActiveDirectory для аутентификации и авторизации пользователей. Это также бесплатно и с открытым исходным кодом (Apache лицензирован)

Домашняя страница GitBlit

Поддерживается только доступ HTTP (S), SSH отсутствует, но под Windows вам больше ничего не нужно.

2 голосов
/ 02 июля 2011

В Windows вы также можете обслуживать Git-репозитории с Apache через HTTP или HTTPS, используя расширение DAV.

Путь к репозиторию Git может быть защищен проверками проверки подлинности Apache, такими как ограничение для определенных IP-адресов или проверка подлинности типа htpasswd / htdigest.

Ограничением использования аутентификации htpasswd / htdigest является то, что имя пользователя: пароль передается в запрошенном URL-адресе Git, поэтому лучше ограничить доступ к URL-адресу Git для определенных IP-адресов.

Редактировать: Обратите внимание, что вы можете не указывать пароль в URL-адресе Git, а вместо этого Git предложит ввести пароль для push и fetch / pull.

Использование HTTPS означает, что все данные шифруются при передаче.

Его достаточно легко настроить, и он работает.

В следующем примере показано сочетание управления доступом по IP-адресу и пользователю: пароль по стандартному HTTP.

Пример Apache Virtualhost

## GIT HTTP DAV ##
<VirtualHost *:80>

  ServerName git.example.com
  DocumentRoot C:\webroot\htdocs\restricted\git
  ErrorLog C:\webroot\apache\logs\error-git-webdav.log

    <Location />
      DAV on
      # Restrict Access
      AuthType Basic
      AuthName "Restricted Area"
      AuthUserFile "C:\webroot\apache\conf\git-htpasswd"
      # To valid user
      Require valid-user
      # AND valid IP address
      Order Deny,Allow
      Deny from all
      # Example IP 1
      Allow from 203.22.56.67 
      # Example IP 2
      Allow from 202.12.33.44 
      # Require both authentication checks to be satisfied
      Satisfy all
    </Location>

</VirtualHost>

Пример .git / config

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = http://username:password@git.example.com/codebase.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
0 голосов
/ 15 июня 2011

Для Windows 7 x64 и Cygwin 1.7.9 мне нужно было использовать / usr / bin / gitd в качестве аргумента args cygrunsrv

cygrunsrv   --install gitd                          \
            --path c:/cygwin/bin/bash.exe           \
            --args /usr/bin/gitd                    \
            --desc "Git Daemon"                     \
            --neverexits                            \
            --shutdown

Кроме того, мне нужно было запустить bash от имени администратора для установки службы.

0 голосов
/ 23 апреля 2009

Я думаю, что Хенк говорит о том, что вы можете создать общий репозиторий на диске и затем скопировать его в какое-то общее место, к которому у вас обоих есть доступ. Если есть какой-либо корпоративный сервер или что-то, к чему у вас обоих есть доступ по ssh, вы можете поместить хранилище в какое-нибудь место, где вы можете отправить его обратно на свой компьютер, а затем извлечь из него. Я сделал это для себя немного, так как у меня есть два компьютера. Это хлопотно, но это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...