凌峰创科服务平台

Windows系统如何搭建Git服务器?

使用 Git for Windows 自带的 Git SSH 服务器(最简单、免费)

这种方式利用了 Git for Windows 安装时自带的 git-daemon 或通过 SSH 来实现,适合个人使用或小团队内部协作,无需额外安装复杂的服务器软件。

Windows系统如何搭建Git服务器?-图1
(图片来源网络,侵删)

核心思想

  • Git for Windows 不仅是一个客户端,它还包含了 git-daemon(一个只读的匿名服务)和 sshd(一个 SSH 服务器)。
  • 我们可以利用其内置的 SSH 服务器功能,让用户通过 SSH 协议安全地访问仓库。

优点

  • 完全免费:无需购买任何软件。
  • 安装简单:只需安装 Git for Windows 即可。
  • 安全性高:使用 SSH 协议,连接是加密的。

缺点

  • 用户管理麻烦:需要手动在 Windows 系统中创建用户,并将用户添加到 git 用户组(或类似操作),权限管理相对基础。
  • 功能单一:没有图形化管理界面,没有 Web 界面(如 GitLab/Gitea 那样)。
  • 不适合大型团队:用户和权限管理会变得非常复杂。

详细步骤

第一步:安装 Git for Windows

  1. 访问 Git for Windows 官网 下载安装程序。
  2. 运行安装程序,一路 "Next" 即可。关键一步:在 "Adjusting your PATH environment" 界面,请选择 "Git from the command line and also from 3rd-party software",这样可以在任何命令行工具中使用 Git 命令。
  3. 其他选项保持默认即可,完成安装。

第二步:创建 Git 专用用户(强烈推荐)

为了安全,最好不要让所有人都用管理员账号来操作 Git,我们创建一个专门用于 Git 操作的系统用户。

  1. 打开 计算机管理(可以在开始菜单右键“此电脑” -> “管理”)。
  2. 在左侧导航栏中,选择 “本地用户和组” -> “用户”
  3. 在右侧空白处右键,选择 “新用户”
  4. 填写用户信息:
    • 用户名git (推荐,方便记忆)
    • 密码:设置一个强密码。
    • 取消勾选“用户下次登录时须更改密码”和“密码永不过期”(根据你的安全策略决定)。
  5. 点击“创建”,完成用户创建。

第三步:创建 Git 仓库存放目录

  1. 在你的服务器上选择一个位置,D:\GitRepos,用来存放所有的 Git 仓库。
  2. 在这个目录下,创建一个裸仓库,裸仓库没有工作区,只存放版本历史信息,非常适合作为服务器。
    • 打开 cmdPowerShell
    • 切换到你创建的目录:cd D:\GitRepos
    • 创建一个裸仓库,my-project.git
      git init --bare my-project.git
    • 你现在会看到 D:\GitRepos\my-project.git 目录下有很多文件,这就是一个空的 Git 仓库。

第四步:配置 SSH 服务器(核心步骤)

Git for Windows 自带了 SSH 服务器,但默认是关闭的,我们需要启用它。

  1. 以管理员身份打开 PowerShell,在开始菜单搜索 PowerShell,右键选择“以管理员身份运行”。

  2. 安装并启动 OpenSSH 服务器,在 PowerShell 中执行以下命令:

    Windows系统如何搭建Git服务器?-图2
    (图片来源网络,侵删)
    # 1. 安装 OpenSSH 服务器功能
    Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
    # 2. 启动并设置自动启动
    Start-Service sshd
    Set-Service -Name sshd -StartupType 'Automatic'
  3. 配置防火墙规则,允许 SSH 连接(默认端口 22):

    New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
  4. (可选但推荐)修改默认 SSH 端口,出于安全考虑,可以修改默认的 22 端口。

    • 打开文件 C:\ProgramData\ssh\sshd_config
    • 找到 #Port 22 这一行,取消注释并修改为你想要的端口号,Port 2222
    • 保存文件。
    • 重要:如果修改了端口,请务必在防火墙规则中也更新对应的端口号:
      New-NetFirewallRule -Name sshd-newport -DisplayName 'OpenSSH SSH Server on 2222' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 2222
  5. 重启 SSH 服务 使配置生效:

    Restart-Service sshd

第五步:配置 Git 仓库的属主

将我们刚才创建的裸仓库的所有权赋予 git 用户。

Windows系统如何搭建Git服务器?-图3
(图片来源网络,侵删)
  1. 右键点击 D:\GitRepos\my-project.git 文件夹,选择 “属性”
  2. 切换到 “安全” 选项卡,点击 “编辑”“添加”
  3. 输入你创建的用户名 git,点击“检查名称”,确定”。
  4. 在用户列表中选中 git 用户,在下方权限列表中勾选 “完全控制”,点击“应用”和“确定”。

第六步:客户端连接测试

在你的另一台电脑(客户端)上,就可以克隆这个仓库了。

  1. 确保客户端也安装了 Git for Windows。

  2. 打开客户端的 Git Bash 或 PowerShell。

  3. 使用 git clone 命令进行克隆,格式为 ssh://<git用户名>@<服务器IP>:<SSH端口>/<仓库绝对路径>

    示例:

    • 如果你没有修改 SSH 端口(还是 22):
      git clone ssh://git@192.168.1.100/D:/GitRepos/my-project.git
    • 如果你修改了 SSH 端口(比如改成了 2222):
      git clone ssh://git@192.168.1.100:2222/D:/GitRepos/my-project.git
    • 注意:Windows 路径中的 \ 在 SSH URL 中需要用 表示。
  4. 第一次连接时,客户端会询问你是否信任该主机的公钥,输入 yes

  5. 然后会提示你输入 git 用户的密码。

如果克隆成功,说明你的 Git 服务器已经搭建好了!


使用 Gitea(功能强大、轻量级、带 Web UI)

Gitea 是一个用 Go 语言编写的开源 Git 服务,类似于 GitHub/GitLab,但更轻量、更容易部署。这是目前非常推荐的 Windows 搭建方案

优点

  • 功能齐全:提供 Web 界面、问题跟踪、Wiki、代码审查、用户管理、团队协作等。
  • 轻量级:资源占用比 GitLab 小得多,对硬件要求低。
  • 易于安装:提供 Windows 原生安装包。
  • 活跃的社区:持续更新和维护。

缺点

  • 比 Git for Windows 方案稍复杂一点点。

详细步骤

  1. 下载 Gitea

  2. 创建 Gitea 用户和目录

    • 同样,建议创建一个专用的系统用户,gitea
    • 创建一个目录用于存放 Gitea 的程序和数据,D:\gitea,在这个目录下再创建一个 data 子目录,用于存放仓库数据、数据库等。
  3. 配置环境变量(推荐)

    • 将 Gitea 可执行文件所在的路径(D:\gitea)添加到系统的 Path 环境变量中,这样你就可以在任何地方运行 gitea 命令。
分享:
扫描分享到社交APP
上一篇
下一篇