windows git 服务器配置

老刘

Windows Git 服务器配置教程:从零搭建可用的私有代码仓库

目标关键词:Windows Git 服务器配置

在团队协作、个人备份、局域网代码同步这些场景里,自己搭一台 Git 服务器非常实用。尤其是 Windows 环境,很多人手里正好有一台旧电脑、办公主机或测试机,装上 Git 之后,就能快速变成一台私有代码仓库服务器。

这篇文章会围绕 Windows Git 服务器配置 这个主题,讲清楚怎么在 Windows 上搭建一个稳定、好维护、成本低的 Git 服务。内容适合新手,也兼顾进阶用户,重点放在能直接落地的方案。


一、问题分析:为什么要在 Windows 上搭 Git 服务器

Git 本身是版本控制工具,但它默认更偏向“本地使用”。如果你想让多台电脑共享代码,就需要一台能提供远程仓库访问的服务器。

Windows 上搭 Git 服务器,常见有这几种需求:

  1. 个人代码备份

    • 本地开发的项目自动同步到服务器,避免电脑坏了代码丢失。
  2. 局域网共享仓库

    • 家里或公司内网多台电脑共同访问一个仓库,方便协作。
  3. 轻量级私有代码管理

    • 不想把项目放到公网平台,想自己控制权限和数据。
  4. 测试环境或教学环境

    • 给学生、同事、测试机分配一个统一的代码仓库地址。

从实际使用来看,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

操作步骤

  1. 打开 Git 官网下载安装包。
  2. 安装时一路默认即可。
  3. 重点看这几个选项:
    • 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

操作步骤:

  1. 打开“计算机管理”
  2. 进入“本地用户和组”
  3. 新建用户 gituser
  4. 设置密码
  5. 不要给管理员权限

为什么要单独建用户

  • 避免权限过大
  • 方便审计
  • 后期多人使用时更安全

第六步:配置 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 权限不对。

可尝试:

  1. 右键 .ssh 文件夹
  2. 属性
  3. 安全
  4. 只保留 gituser 和系统必要权限
  5. 取消不必要的继承权限

第七步:设置仓库访问权限

假设你的裸仓库路径是:

D:\git-repos\project.git

那么正常情况下,gituser 需要对这个目录有读写权限。

操作方法

  1. 右键 project.git
  2. 属性
  3. 安全
  4. 添加 gituser
  5. 给“修改”或“完全控制”权限

如果是多人协作,可以为每个人创建单独账号,再分别控制目录权限。


第八步:在客户端连接仓库

在开发电脑上,克隆仓库:

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 或使用内网穿透
  • 设置防火墙规则
  • 加强安全策略

建议优先级

  1. 优先使用内网穿透或 VPN
  2. 次选端口映射
  3. 不建议直接把 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,会更顺手,也更适合长期使用。

整个配置过程最关键的三点是:

  1. SSH 服务正常
  2. 仓库权限正确
  3. 客户端密钥配置无误

只要这三块没问题,Windows Git 服务器通常都能稳定运行。

文章版权声明:文章内容均来源于各大短视频平台搜集以及修改和删减新增,如有侵权或者违规,请联系站长进行删除,如需转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,3人围观)

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

目录[+]