当前位置:首页 > 行业动态 > 正文

如何在Windows上搭建Git本地服务器?

在Windows搭建本地Git服务器,需安装Git并创建裸仓库,设置共享目录或使用SSH协议访问,通过文件共享或SSH实现多用户协作,可配置权限管理确保代码安全,适合团队内网开发或本地版本控制需求。

在Windows环境中搭建Git本地服务器,能够实现代码的集中管理和团队协作,本指南将详细介绍两种主流方法,既适合个人开发者进行版本控制,也满足中小团队协作需求,以下操作基于Windows 10/11系统,建议使用管理员账户执行。


通过Git原生工具搭建

安装必要组件

① 访问Git官网下载最新Windows版本
② 安装时勾选以下关键选项:

  • [x] Windows Explorer integration
  • [x] Git Bash Here
  • [x] Use the OpenSSL library
  • [x] Checkout Windows-style, commit Unix-style line endings

创建共享仓库

# 创建裸仓库(无工作目录)
mkdir /d/Git-Server/example.git
cd /d/Git-Server/example.git
git init --bare

配置网络共享

① 右键仓库文件夹 → 属性 → 共享 → 高级共享
② 勾选”共享此文件夹”,设置共享名(如GitRepo)
③ 权限设置 → 添加特定用户并赋予”完全控制”权限

如何在Windows上搭建Git本地服务器?  第1张

防火墙配置

控制面板 → Windows Defender防火墙 → 允许应用通过防火墙 → 启用以下条目:

  • [x] 文件和打印机共享
  • [x] 核心网络

使用Gitea搭建专业级服务

环境准备

① 安装MySQL 8.0+
② 创建专用数据库:

CREATE DATABASE gitea_db;
CREATE USER 'gitea_user'@'localhost' IDENTIFIED BY 'YourP@ssw0rd';
GRANT ALL PRIVILEGES ON gitea_db.* TO 'gitea_user'@'localhost';
FLUSH PRIVILEGES;

部署Gitea

① 从Gitea官网下载windows-4.0-amd64.exe
② 创建服务:

# 以管理员身份运行
./gitea.exe web --port 3000
# 注册为Windows服务
sc create gitea start= auto binPath= ""C:giteagitea.exe" web --config C:giteacustomconfapp.ini"

初始配置

访问http://localhost:3000完成:

  • 数据库类型:MySQL
  • 域名:输入内网IP(如192.168.1.100)
  • SSH服务端口:2222(避免与系统SSH冲突)

权限管理策略

  1. SSH密钥认证
    生成并部署密钥对:

    ssh-keygen -t ed25519 -C "your_email@example.com"
    # 公钥存入服务器/home/git/.ssh/authorized_keys
  2. 访问控制

    • 项目级权限:通过gitolite管理
    • 分支保护:设置main分支为受保护分支
    • 代码审核:启用Pull Request机制

客户端连接测试

# 克隆示例仓库
git clone git@192.168.1.100:/Git-Server/example.git
# 或使用SMB协议
git clone //192.168.1.100/GitRepo/example.git

维护建议

  1. 每日自动备份:
    # 创建备份脚本
    gitea dump -c C:giteacustomconfapp.ini --file C:backupsgitea-dump.zip
  2. 定期执行:
    • 仓库完整性检查:git fsck
    • 存储优化:git gc --aggressive
  3. 更新策略:关注Git Release和Gitea公告

常见问题处理

问题现象 解决方案
推送时提示权限不足 检查NTFS权限和共享权限是否冲突
克隆速度慢 禁用Windows搜索索引服务
SSH连接超时 检查防火墙是否放行2222端口
仓库损坏 使用git clone --mirror重建仓库

遵循以上步骤即可建立稳定的Git本地服务器,建议生产环境使用Gitea方案,其提供可视化界面和更完善的管理功能,定期检查日志文件(C:gitealoggitea.log)可提前发现潜在问题。

参考方案来源:Git官方文档、Gitea技术白皮书、Microsoft Windows Server技术手册

0