Git for Windows + SSH (个人或极小团队,最简单)
这种方式利用了 Git for Windows 自带的服务器功能,本质上是在你的 Windows 机器上运行一个 Git 守护进程,它不提供身份验证,只适用于完全信任的内网环境,比如你自己的几台电脑之间。

优点
- 极其简单:无需额外安装软件。
- 资源占用少:一个轻量级的进程。
缺点
- 不安全:没有用户名和密码验证,任何能访问到该机器的人都可以读写你的仓库。
- 功能有限:不支持精细的权限管理、Web界面等。
步骤
-
安装 Git for Windows
- 前往 Git for Windows 官网 下载并安装。
- 安装时,大部分选项保持默认即可,在 "Select Components" 界面,确保勾选了 Git Here 和 Git GUI Here 等常用组件。
-
创建一个裸仓库 裸仓库没有工作区,只保存版本历史信息,非常适合作为中央服务器仓库。
- 打开命令提示符 或 PowerShell。
- 选择一个你想存放仓库的目录,
D:\git_repos。 - 创建一个裸仓库,假设你的项目名叫
my-awesome-project:mkdir D:\git_repos cd D:\git_repos git init --bare my-awesome-project.git
你现在会看到
D:\git_repos\my-awesome-project.git目录下有很多文件,但没有README.md或.git这样的子目录。
-
启动 Git 守护进程
(图片来源网络,侵删)- 在同一个命令行窗口中,执行以下命令来启动守护进程。
--listen=0.0.0.0表示允许任何 IP 地址的机器连接(如果你只允许本机,可以去掉这个参数)。git daemon --export-all --listen=0.0.0.0 --base-path=D:\git_repos
- 这个窗口会保持运行,不要关闭它,你的 Git 服务器现在就启动了!
- 在同一个命令行窗口中,执行以下命令来启动守护进程。
-
客户端连接
- 在另一台电脑(或同一台电脑)上,安装 Git for Windows。
- 打开命令行,克隆你刚刚创建的仓库:
# 将 <你的Windows主机IP> 替换为你电脑的实际IP地址 git clone git://<你的Windows主机IP>/my-awesome-project.git
- 如果你的电脑 IP 是
168.1.100,命令就是:git clone git://192.168.1.100/my-awesome-project.git
- 现在你可以正常地
git add,git commit,git push了。
停止服务器:直接关闭之前启动守护进程的那个命令行窗口即可。
使用 Gitblit (小型团队推荐,功能强大)
Gitblit 是一个用 Java 编写的、开源的 Git 服务管理工具,它提供了 Web 界面、用户管理、权限控制、项目管理等企业级功能,非常适合小型团队。
优点
- 功能全面:Web界面、用户/权限管理、仓库管理、钩子支持。
- 跨平台:基于 Java,Windows, Linux, macOS 都能运行。
- 部署简单:下载解压即可运行。
- 免费开源。
缺点
- 相比方案一,配置稍复杂。
步骤
-
下载 Gitblit
(图片来源网络,侵删)- 前往 Gitblit Releases 页面。
- 下载
gitblit-{version}.zip文件(gitblit-1.9.0.zip)。
-
配置 Gitblit
- 将下载的 zip 文件解压到一个固定目录,
D:\gitblit。 - 进入
D:\gitblit\data目录,这里存放着所有配置文件。 - 用记事本打开
gitblit.properties文件,这是核心配置文件。 - 修改服务端口(可选,默认 8080):
# server.httpPort = 80 server.httpPort = 8080
- 创建管理员账户:
# 定义一个名为 admin 的用户,密码为 password users = admin password.admin = MD5(你的密码) # 注意:Gitblit 推荐使用 MD5 加密后的密码 # 如何生成 MD5 密码?可以用在线工具或 Gitblit 自带的工具。 # 为了方便,你可以先不加密,Gitblit 会自动在首次启动时提示你设置。
更简单的方法是先不设置,启动后通过 Web 界面创建用户。
- 将下载的 zip 文件解压到一个固定目录,
-
启动 Gitblit
- 进入
D:\gitblit目录。 - 双击运行
gitblit.cmd。 - 你会看到一个命令行窗口弹出,Gitblit 正在启动,启动成功后,它会显示 "Gitblit is now running on..."。
- 进入
-
访问 Web 界面
- 打开浏览器,访问
http://localhost:8080。 - 首次访问会进入一个设置向导,你可以在这里创建管理员账户。
- 登录后,你可以在 Web 界面上轻松创建用户、创建仓库、设置权限等。
- 打开浏览器,访问
-
客户端连接
- 在 Gitblit 的 Web 界面上,点击你创建的仓库,会看到 Clone URL。
- 你可以选择 SSH 或 HTTPS 协议。
- HTTPS (推荐):
- URL 类似
https://<你的Windows主机IP>:8080/r/my-awesome-project.git。 - 首次使用需要信任 Gitblit 的 SSL 证书(浏览器会提示不安全,点击“高级”继续访问)。
- 推送时需要输入你在 Gitblit 上创建的用户名和密码。
- URL 类似
- SSH:
需要先在服务器上为每个用户设置 SSH 密钥,配置稍复杂,但更安全方便。
停止服务器:关闭运行 gitblit.cmd 的命令行窗口即可。
使用 GitLab CE/EE (企业级,功能最全)
GitLab 是目前最流行的 DevOps 平台,它不仅是一个 Git 服务器,还集成了 CI/CD、Wiki、Issue Tracking 等全套功能,这通常需要更多的服务器资源(建议至少 4GB 内存,8GB 更佳)。
优点
- 功能最强大:一站式 DevOps 解决方案。
- 高度集成:CI/CD, Docker Registry, Container Registry 等。
- 活跃的社区和商业支持。
缺点
- 资源消耗大:对电脑硬件要求较高。
- 安装和配置最复杂。
步骤 (使用 Docker Compose,这是最推荐的安装方式)
-
安装 Docker Desktop
- 前往 Docker Desktop 官网 下载并安装 for Windows。
- 安装时确保勾选了 "Enable WSL 2 based engine",这能提供更好的性能。
- 安装后启动 Docker Desktop,它会自动下载一些镜像,请耐心等待。
-
下载 GitLab 配置文件
- 创建一个新目录,
D:\gitlab。 - 打开命令行,进入该目录。
- 下载
docker-compose.yml文件:curl -LO https://gitlab.com/gitlab-org/gitlab/-/raw/master/docker-compose.yml
- 创建一个新目录,
-
配置 GitLab
- 用记事本打开
docker-compose.yml文件。 - 修改主机名:将
hostname: 'gitlab.example.com'修改为你自己的主机名或 IP,hostname: '192.168.1.100'。 - 修改数据目录:为了避免数据丢失在 Docker 容器里,强烈建议将数据挂载到主机上,找到
volumes部分,修改路径为你想要的目录:volumes: # 配置数据 - './config:/etc/gitlab' # 日志数据 - './logs:/var/log/gitlab' # 数据文件 - './data:/var/opt/gitlab'
这三行会将配置、日志和数据都保存在你当前目录下的
config,logs,data文件夹中。
- 用记事本打开
-
启动 GitLab
- 在
D:\gitlab目录下,打开命令行,执行:docker-compose up -d
- 首次启动会非常慢!因为 GitLab 镜像非常大(几个 GB),并且需要初始化很多服务,请耐心等待,这个过程可能需要 10-30 分钟甚至更久。
- 你可以使用
docker-compose ps命令查看启动状态。
- 在
-
访问和配置
- 启动成功后,打开浏览器访问
http://<你的Windows主机IP>。 - 首次访问需要设置管理员密码(默认用户是
root)。 - 设置完密码后,用
root和你设置的密码登录。
- 启动成功后,打开浏览器访问
-
客户端连接
- 登录 GitLab 后,点击 "New project" 创建一个新仓库。
- 创建成功后,在项目主页的 "Clone" 按钮中,选择 SSH 或 HTTPS URL。
- HTTPS:首次使用需要设置密码(在 GitLab 的 User Settings -> Account 中设置)。
- SSH:需要在 GitLab 的 User Settings -> SSH Keys 中添加你的公钥。
停止服务器:
docker-compose down
注意:这只会停止容器,数据(在 data 目录中)仍然保留在本地。
总结与对比
| 特性 | 方案一 (Git Daemon) | 方案二 (Gitblit) | 方案三 (GitLab) |
|---|---|---|---|
| 易用性 | ★★★★★ (最简单) | ★★★★☆ (较简单) | ★★☆☆☆ (较复杂) |
| 功能丰富度 | ★☆☆☆☆ (极简) | ★★★★☆ (功能强大) | ★★★★★ (最全面) |
| 安全性 | ★☆☆☆☆ (无认证) | ★★★★☆ (用户/权限管理) | ★★★★★ (企业级安全) |
| 资源消耗 | ★☆☆☆☆ (极低) | ★★★☆☆ (中等) | ★★★★★ (高) |
| 适用场景 | 个人学习、内网快速测试 | 小型团队协作、开源项目管理 | 中大型企业、DevOps 平台建设 |
如何选择?
- 如果你只是想在两台自己的电脑之间传代码,不想搞复杂配置:选 方案一。
- 如果你和几个朋友或同事一起开发,需要一个带网页界面和用户管理的服务器:选 方案二 (Gitblit),这是性价比和易用性最高的选择。
- 如果你需要完整的 CI/CD 流水线、项目管理、代码质量分析等企业级功能,并且电脑配置足够:选 方案三 (GitLab)。
