Windows Git 服务器配置教程:从零搭建可用的私有代码仓库
目标关键词:Windows Git 服务器配置
在团队协作、个人备份、局域网代码同步这些场景里,自己搭一台 Git 服务器非常实用。尤其是 Windows 环境,很多人手里正好有一台旧电脑、办公主机或测试机,装上 Git 之后,就能快速变成一台私有代码仓库服务器。
这篇文章会围绕 Windows Git 服务器配置 这个主题,讲清楚怎么在 Windows 上搭建一个稳定、好维护、成本低的 Git 服务。内容适合新手,也兼顾进阶用户,重点放在能直接落地的方案。
一、问题分析:为什么要在 Windows 上搭 Git 服务器
Git 本身是版本控制工具,但它默认更偏向“本地使用”。如果你想让多台电脑共享代码,就需要一台能提供远程仓库访问的服务器。
Windows 上搭 Git 服务器,常见有这几种需求:
-
个人代码备份
- 本地开发的项目自动同步到服务器,避免电脑坏了代码丢失。
-
局域网共享仓库
- 家里或公司内网多台电脑共同访问一个仓库,方便协作。
-
轻量级私有代码管理
- 不想把项目放到公网平台,想自己控制权限和数据。
-
测试环境或教学环境
- 给学生、同事、测试机分配一个统一的代码仓库地址。
从实际使用来看,Windows 上搭 Git 服务器最常见的方案有两类:
- 纯 Git 仓库 + SSH 或 Git 协议
- 轻量、简单、占用低,适合入门和小团队。
- 带 Web 界面的 Git 服务
- 比如 Gitea、GitLab(Windows 上 GitLab 不太推荐,太重),适合多人协作和权限管理。
如果你的目标是“先跑起来”,最稳妥的方式就是:
Windows + Git for Windows + OpenSSH + 裸仓库(bare repository)
这个方案免费、稳定、配置难度适中,非常适合大多数人。
二、方案选择:哪种 Windows Git 服务器更适合你
1. 方案一:裸仓库 + SSH
适合场景:
- 个人使用
- 小团队协作
- 局域网同步
- 想低成本搭建
优点:
- 配置简单
- 占资源少
- 传输稳定
- 可以精确控制访问权限
缺点:
- 没有图形化管理界面
- 分支、权限、用户管理比较原始
2. 方案二:Gitea
适合场景:
- 想要网页界面
- 需要用户、组织、仓库管理
- 想要更像 GitHub 的体验
优点:
- 界面好用
- 占用比 GitLab 小很多
- 支持权限、Issue、PR、Wiki
缺点:
- 配置比纯 Git 复杂一点
- 需要额外部署数据库或内置数据库
3. 方案三:GitLab
适合场景:
- 企业级完整平台
- CI/CD、权限、审计、项目管理需求强
优点:
- 功能最全
缺点:
- Windows 原生部署并不友好
- 很吃内存和 CPU
- 维护成本高
推荐结论
如果你是新手,或者只是想在 Windows 上快速搭建一个能用的 Git 服务器:
优先推荐:裸仓库 + SSH
如果你想要网页管理界面:
推荐:Gitea
接下来我会先讲最实用、最容易成功的 Windows Git 服务器配置 方法,再补充 Gitea 方案。
三、基础方案:Windows 上搭建裸仓库 Git 服务器
第一步:安装 Git for Windows
操作步骤
- 打开 Git 官网下载安装包。
- 安装时一路默认即可。
- 重点看这几个选项:
- Use Git from the Windows Command Prompt
- Checkout Windows-style, commit Unix-style line endings
这个对大多数 Windows 用户够用。 - 终端建议选:
- Use Windows' default conSole window
- 或 Use MinTTY 也可以
安装完成后验证
打开“命令提示符”或“PowerShell”,输入:
git --version
看到版本号就说明成功。
第二步:准备服务器目录
建议单独建一个目录存放仓库,例如:
D:\git-repos
也可以放到其他盘,比如:
E:\GitServer
为什么建议单独目录
- 管理更清晰
- 方便备份
- 避免和系统文件混在一起
- 后期迁移更方便
第三步:创建裸仓库
Git 服务器一般使用 裸仓库(bare repository),也就是不包含工作区文件的仓库,专门用于远程推送和拉取。
创建方法
打开命令提示符,执行:
cd /d D:\git-repos
git init --bare project.git
执行后,会生成一个 project.git 文件夹。
裸仓库的作用
这个仓库不会直接拿来编辑代码,而是作为远程仓库使用。
客户端开发机把代码 push 到这里,其他电脑再 pull 下来。
第四步:安装并配置 OpenSSH 服务
Git 服务器要让别的电脑访问,最常见方式就是 SSH。
Windows 10 / Windows 11 / Windows Server 都可以安装 OpenSSH Server。
查看是否已安装
打开 PowerShell(管理员),输入:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'
如果显示 Not Present,就需要安装。
安装 OpenSSH Server
管理员 PowerShell 输入:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
安装完成后,启动服务:
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
再检查防火墙放行:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
验证 SSH 服务
在本机输入:
ssh localhost
如果出现登录提示,说明 SSH 服务已经起来了。
第五步:创建专门的 Git 用户
为了安全,建议不要直接拿管理员账号做 Git 服务。
推荐做法
创建一个普通本地用户,例如:
gituser
操作步骤:
- 打开“计算机管理”
- 进入“本地用户和组”
- 新建用户
gituser - 设置密码
- 不要给管理员权限
为什么要单独建用户
- 避免权限过大
- 方便审计
- 后期多人使用时更安全
第六步:配置 SSH 密钥登录
SSH 密钥登录比密码登录更稳,也更安全。
客户端生成密钥
在你的开发电脑上执行:
ssh-keygen -t ed25519 -C "your_email@example.com"
一路回车即可。
生成后会得到:
- 私钥:
id_ed25519 - 公钥:
id_ed25519.pub
把公钥放到服务器
把客户端的 .pub 内容复制到服务器用户目录下:
C:\Users\gituser\.ssh\authorized_keys
如果 .ssh 文件夹不存在,自己新建。
注意权限
Windows 上 SSH 对权限比较敏感。
如果登录失败,常见原因就是 authorized_keys 权限不对。
可尝试:
- 右键
.ssh文件夹 - 属性
- 安全
- 只保留
gituser和系统必要权限 - 取消不必要的继承权限
第七步:设置仓库访问权限
假设你的裸仓库路径是:
D:\git-repos\project.git
那么正常情况下,gituser 需要对这个目录有读写权限。
操作方法
- 右键
project.git - 属性
- 安全
- 添加
gituser - 给“修改”或“完全控制”权限
如果是多人协作,可以为每个人创建单独账号,再分别控制目录权限。
第八步:在客户端连接仓库
在开发电脑上,克隆仓库:
git clone gituser@服务器IP:D:/git-repos/project.git
如果是第一次连接,会提示确认主机指纹,输入 yes 即可。
示例
假设服务器 IP 是 192.168.1.100:
git clone gituser@192.168.1.100:D:/git-repos/project.git
注意:
有些环境下路径格式可能需要写成:
git clone gituser@192.168.1.100:/d/git-repos/project.git
具体取决于 SSH 环境和 Git 版本,如果第一种不行,就尝试第二种。
四、局域网和公网使用时的区别
1. 局域网使用
如果只是家里或公司内网使用,配置最简单。
你只需要:
- 确保服务器 IP 固定
- 22 端口开放
- 客户端和服务器在同一网段
建议设置静态 IP
比如把服务器固定成:
192.168.1.100
这样客户端访问更稳定,不会因为 DHCP 变化导致连不上。
2. 公网使用
如果你想在外网访问 Windows Git 服务器,事情就复杂一些。
需要注意:
- 路由器做端口转发
- 有公网 IP 或使用内网穿透
- 设置防火墙规则
- 加强安全策略
建议优先级
- 优先使用内网穿透或 VPN
- 次选端口映射
- 不建议直接把 SSH 暴露给公网且弱密码登录
五、进阶方案:用 Gitea 搭建更完整的 Git 服务器
如果你不仅想要命令行仓库,还想要:
- 网页访问
- 用户管理
- 仓库列表
- 代码浏览
- Issue 管理
那就可以上 Gitea。
Gitea 的优势
- 轻量
- 安装简单
- Windows 可直接运行
- 比 GitLab 省资源很多
Gitea 的安装思路
需要准备的东西
- Git
- Gitea 程序
- 数据库:SQLite(最简单)或 MySQL/MariaDB
- 一个端口,比如
3000
最简单部署方式
直接下载 Gitea Windows 可执行文件,双击运行即可。
例如启动命令:
gitea web
首次访问:
http://服务器IP:3000
按照页面提示完成安装。
安装时重点填这些项
- 仓库目录
- 数据库类型
- 站点标题
- SSH 端口
- 访问地址
Gitea 适合谁
- 想要网页管理
- 想给多人分配账号
- 想更像企业内部代码平台
如果只是单纯传代码,裸仓库已经足够。
如果你希望“像 GitHub 一样方便”,Gitea 更合适。
六、常见问题排查
1. 连不上服务器
可能原因:
- SSH 服务没启动
- 防火墙没放行 22 端口
- IP 写错
- 用户名写错
- 密钥权限不对
检查命令
在服务器上执行:
Get-Service sshd
如果不是 Running,启动它:
Start-Service sshd
2. 提示权限不足
可能原因:
- 仓库目录没有写权限
gituser没有访问project.git- Windows 安全策略限制
处理方法
给仓库目录添加 gituser 的修改权限。
3. push 失败
可能原因:
- 远程仓库路径写错
- 裸仓库没有初始化成功
- 当前分支名不匹配
- 网络中断
初始化仓库检查
服务器端确认:
git init --bare project.git
4. 中文文件名乱码
Windows 和 Git 的字符编码有时会有兼容问题。
建议设置
客户端执行:
git config --global core.quotepath false
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8
5. 换行符混乱
Windows 和 Linux 混用时容易出现换行符问题。
推荐设置
Windows 开发环境常用:
git config --global core.autocrlf true
如果是偏向跨平台团队,建议统一规范,避免仓库里换行符混乱。
七、安全建议:Windows Git 服务器别只图方便
搭 Git 服务器最容易忽略的就是安全。
1. 不要开放弱密码 SSH
如果使用密码登录,密码一定要复杂。
2. 优先使用密钥登录
密钥比密码安全得多。
3. 定期备份仓库
建议直接备份整个仓库目录:
D:\git-repos
也可以用任务计划定期同步到其他磁盘或 NAS。
4. 不要把系统管理员账号直接拿来做 Git 用户
单独建账户,权限更清晰。
5. 如果公网访问,最好加 VPN
这样比直接暴露 SSH 安全很多。
八、推荐的实战配置方案
如果你只是想快速落地,我建议这样配:
低成本实用方案
- Windows 10/11 电脑一台
- 安装 Git for Windows
- 安装 OpenSSH Server
- 建立
gituser - 创建裸仓库
D:\git-repos\project.git - 客户端用 SSH 密钥访问
这套方案:
- 成本低
- 维护简单
- 适合个人和小团队
进阶实用方案
- Windows Server 或稳定的 Windows 主机
- Git for Windows
- OpenSSH
- Gitea
- 定时备份
- 局域网固定 IP
- 必要时配合 NAS 备份
这套方案适合多人协作,管理更方便。
九、完整操作清单:一步一步照着做
下面给你一个最简执行顺序,适合小白直接照抄:
1. 安装 Git
git --version
2. 创建仓库目录
D:\git-repos
3. 创建裸仓库
git init --bare D:\git-repos\project.git
4. 安装 OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
5. 放行防火墙
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
6. 创建普通用户 gituser
7. 配置 SSH 公钥
把客户端公钥放到:
C:\Users\gituser\.ssh\authorized_keys
8. 给仓库目录授权
给 gituser 授予修改权限。
9. 客户端克隆
git clone gituser@192.168.1.100:D:/git-repos/project.git
10. 测试推送
git add .
git commit -m "first commit"
git push origin main
十、适合百度搜索抓取的关键点总结
如果你是为了搭建 Windows Git 服务器配置,最核心的内容就是:
- Windows 上可以用 Git for Windows 搭建 Git 服务器
- 最简单稳定的方式是 裸仓库 + SSH
- 要安装并启用 OpenSSH Server
- 建议使用普通用户和密钥登录
- 局域网使用最省事,公网使用要重视安全
- 需要网页管理时,可以换成 Gitea
十一、结论
Windows 上搭建 Git 服务器并不难,真正实用的方案并不是一上来就追求“大而全”,而是先把最基础的仓库服务跑稳。
对于大多数人来说,Windows + Git + OpenSSH + 裸仓库 已经足够满足:
- 代码备份
- 局域网共享
- 小团队协作
- 私有仓库管理
如果后续你需要更强的管理能力,再升级到 Gitea,会更顺手,也更适合长期使用。
整个配置过程最关键的三点是:
- SSH 服务正常
- 仓库权限正确
- 客户端密钥配置无误
只要这三块没问题,Windows Git 服务器通常都能稳定运行。

还没有评论,来说两句吧...