Когда над проектом работает команда, без Git обойтись невозможно. Это основа — система, которая хранит историю изменений, помогает работать параллельно, сравнивать версии и, если нужно, откатываться назад.
В большинстве случаев используют GitHub или похожие облачные сервисы. Но что делать, если вы не можете выносить код за пределы компании или просто хотите всё держать под контролем? Решение — поднять локальный Git-сервер. И сделать это можно даже на Windows Server. Один из самых удобных инструментов — Gitea: лёгкий, не требующий сложной настройки и хорошо работающий на Windows.
— Сервер с Windows Server (2016, 2019, 2022) или обычная Windows 10/11 Pro.
— Подключение к интернету — чтобы скачать нужные файлы.
— Права администратора.
Мы пройдём путь от установки Git до запуска Gitea, настройки SSH и создания первого репозитория.
Начнём с основ — самого Git.
1. Зайдите на официальный сайт Git и скачайте установочный файл. Сайт сам определит подходящую версию.
2. Запустите установку от имени администратора.
3. Во всех окнах можно просто нажимать «Next» — стандартные настройки подойдут.
4. После установки в меню появятся Git Bash и Git GUI. Нам нужен Git Bash — именно в нём будем работать.
Теперь перейдем к настройке SSH. Это позволит подключаться к репозиториям безопасно, без логинов и паролей.
1. Откройте Git Bash.
2. Введите команду:
ssh -V
Если видите версию OpenSSH — всё в порядке, SSH установлен.
3. Создаём ключ:
ssh-keygen -t rsa -b 4096 -C "git@your-server"
Метка (git@your-server) может быть любой — она просто помогает потом вспомнить, откуда этот ключ.
Нажимайте Enter на всех этапах — пусть ключи сохраняются по умолчанию и без пароля.
В результате появятся два файла:
— id_rsa — приватный ключ (храните его в тайне),
— id_rsa.pub — публичный ключ (им и будем пользоваться).
Проверить наличие ключей можно командой:
ls ~/.ssh
Теперь всё готово для установки Gitea.
Gitea — это веб-приложение, которое делает из вашего сервера полноценную альтернативу GitHub. Репозитории, коммиты, управление пользователями — всё на месте.
1. Создайте папку, например C:\Gitea\.
2. Скачайте Gitea с официального сайта.
3. Переименуйте скачанный файл в gitea.exe и положите в папку, которую создали.
Чтобы сервис работал безопаснее, создайте отдельного пользователя:
1. Нажмите Win+R, введите compmgmt.msc.
2. Перейдите в раздел «Пользователи», создайте нового — например, gitea_user.
3. Уберите обязательную смену пароля и поставьте галочку «Пароль не истекает».
1. Откройте командную строку от имени администратора.
2. Перейдите в папку с Gitea:
cd C:\Gitea
3. Запустите Gitea:
gitea.exe web
Если всё прошло успешно, увидите сообщение, что сервер запущен на http://localhost:3000.
Зайдите в браузере по адресу http://localhost:3000.
1. Database Type — оставьте SQLite3 (простой вариант без отдельной СУБД).
2. Path — ничего менять не нужно.
3. Repository Root Path — пусть будет C:\Gitea\repos.
4. Application URL — для локального доступа http://localhost:3000, для работы в сети — http://IP_сервера:3000.
5. Admin Account — придумайте логин и пароль администратора.
Нажмите Install Gitea — и через пару секунд вы попадёте в интерфейс.
1. Зайдите под админом.
2. Нажмите New Repository.
3. Назовите репозиторий, например, test.
4. Создайте его пустым.
Поздравляем — у вас уже работает свой Git-сервер!
Чтобы другие компьютеры могли подключаться, откройте порт 3000 в брандмауэре Windows:
1. Перейдите по следующему пути: Панель управления → Система и безопасность → Брандмауэр → Дополнительные параметры;
2. Задайте новое правило для входящих соединений;
— Тип — для порта → TCP → порт 3000;
— Разрешить подключение;
— Применить ко всем профилям;
— Назовите правило, например Gitea TCP 3000.
Теперь Gitea будет доступна по IP-адресу сервера (узнать его можно через ipconfig).
Чтобы не вводить логин/пароль при каждом взаимодействии с репозиторием, подключайтесь по SSH.
Включаем SSH-сервер на Windows Server
1. Перейдите в Параметры → Приложения → Дополнительные компоненты.
2. Найдите и установите OpenSSH Server.
3. После установки откройте PowerShell с правами администратора и введите:
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
Откройте порт 22 в брандмауэре — как делали для 3000, только укажите порт 22 (TCP).
1. На клиентской машине (компьютере разработчика) с помощью Git Bash создайте SSH-ключ:
ssh-keygen
Нажмите Enter на всех этапах.
2. Откройте файл id_rsa.pub в блокноте, скопируйте содержимое.
3. В Gitea зайдите в свой профиль → Settings → SSH / GPG Keys → Add Key.
4. Вставьте ключ, задайте имя (например, «Рабочий ПК») → Add Key.
Проверьте SSH-доступ:
ssh git@IP_сервера -p 22
Если всё настроено правильно, получите сообщение:
Hi there, you've successfully authenticated, but Gitea does not provide shell access.
Теперь можно клонировать репозиторий:
git clone ssh://git@servers_IP:22/user/repo.git
Пример:
git clone ssh://git@192.168.1.100:22/admin/test.git
Если SSH-ключ добавлен, система подключится без пароля.
Если захочется попробовать альтернативу — посмотрите на GitBucket. Он тоже работает на Windows и предлагает похожий функционал, но требует другой подход к установке и немного отличается интерфейсом. Если Gitea по каким-то причинам не подойдёт — GitBucket вполне может заменить его.