В 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