Windows 下搭建 Git 本地服务器并进行开发

目录

[1. 安装 Git for Windows](#1. 安装 Git for Windows)

[2. 创建本地 Git 仓库(裸仓库)](#2. 创建本地 Git 仓库(裸仓库))

[3. 设置本地开发环境](#3. 设置本地开发环境)

[(1) 在开发机器上克隆仓库](#(1) 在开发机器上克隆仓库)

[(2) 提交代码](#(2) 提交代码)

[4. 远程访问本地 Git 服务器](#4. 远程访问本地 Git 服务器)

[方法 1:使用 SSH 访问](#方法 1:使用 SSH 访问)

[(1) 配置 SSH 服务器](#(1) 配置 SSH 服务器)

[(2) 客户端连接](#(2) 客户端连接)

[方法 2:使用 Git 自带 HTTP 服务器](#方法 2:使用 Git 自带 HTTP 服务器)

[(1) 配置 HTTP 服务器](#(1) 配置 HTTP 服务器)

[5. 远程开发流程](#5. 远程开发流程)

(1)开发者克隆仓库

(2)开发、提交

(3)推送到服务器

[6. 可视化管理工具(可选)](#6. 可视化管理工具(可选))

总结


Windows 下搭建 Git 本地服务器并进行开发,可以使用 Git for Windows + SSH/HTTP 访问。下面是完整步骤:

1. 安装 Git for Windows

下载 Git for Windows官网

安装时选择:

  1. Use Git from the Windows Command Prompt
  2. Use OpenSSH(默认选项)
  3. Checkout as-is, commit as-is(防止 Windows/Linux 换行符问题)

安装完成后,打开 Git Bash,输入:

git --version

确保 Git 安装成功。

2. 创建本地 Git 仓库(裸仓库)

在 Windows 下,我们可以直接在本地创建一个裸仓库作为服务器。

mkdir D:\git-server

cd D:\git-server

git init --bare myproject.git

--bare 选项表示这是一个裸仓库,不包含工作目录,适合作为远程仓库。

3. 设置本地开发环境

(1) 在开发机器上克隆仓库

可以在 Windows 另一台电脑或同一台电脑的不同目录克隆仓库:

git clone D:\git-server\myproject.git D:\myproject

cd D:\myproject

(2) 提交代码

创建一个示例文件并提交:

echo "Hello Git" > README.md

git add README.md

git commit -m "First commit"

git push origin master

4. 远程访问本地 Git 服务器

如果需要在 局域网 内其他设备访问本地 Git 服务器,可以使用 SSH 或 HTTP

方法 1:使用 SSH 访问

(1) 配置 SSH 服务器

Windows 10/11 内置 OpenSSH,启用方法:

启用 SSH 服务

  1. 打开 PowerShell(管理员模式),输入:

Get-Service sshd

  1. 如果 sshd 未启动,运行:

Start-Service sshd

Set-Service -Name sshd -StartupType Automatic

添加 Git 用户

  1. 创建 git 账户(或使用现有账户)
  2. 在 C:\Users\git\.ssh\authorized_keys 文件中添加客户端公钥

配置仓库目录权限

icacls D:\git-server /grant git:F /t

(2) 客户端连接

在远程客户端(Windows/Linux/macOS)上,运行:

git clone ssh://git@192.168.1.100/D:/git-server/myproject.git

推送代码

git add .

git commit -m "Update"

git push origin master

方法 2:使用 Git 自带 HTTP 服务器

Git for Windows 自带 git-http-backend,可以搭建 HTTP 访问

(1) 配置 HTTP 服务器

在 Git Bash 中执行:

mkdir D:\git-server

cd D:\git-server

git daemon --reuseaddr --base-path=D:/git-server --export-all --verbose

然后其他设备可以通过:

git clone git://192.168.1.100/myproject.git

此方法 仅支持克隆(read-only) ,如果要支持 HTTP 推送(write) ,需要配置 Apache/Nginx

5. 远程开发流程

(1)开发者克隆仓库

git clone ssh://git@192.168.1.100/D:/git-server/myproject.git

(2)开发、提交

cd myproject

echo "New feature" >> feature.txt

git add feature.txt

git commit -m "Add new feature"

(3)推送到服务器

git push origin master

​​​​​​​

6. 可视化管理工具(可选)

如果不想用命令行,可以使用:

  • Gitea (轻量级 Git 服务器,支持 Web 界面)下载
  • GitLab (企业级 Git 服务器)官网
  • Sourcetree (Git GUI 客户端)下载

总结

  • 仅本机开发:直接使用 git init --bare
  • 局域网共享
    • SSH(推荐,安全性高)
    • Git Daemon(适合只读访问)
    • HTTP 服务器(需配置 Apache/Nginx)
  • 可视化管理:可选用 Gitea 或 GitLab

这样,你就可以在 Windows 上搭建 Git 本地服务器 并进行开发了!

相关推荐
星源~8 小时前
tree 命令集成到 Git Bash:可视化目录结构的指南
git·单片机·物联网·嵌入式·项目开发
zhaqonianzhu9 小时前
git gerrit安装钩子
git·gerrit
这是个栗子9 小时前
【问题解决】VSCode终端中看不到Git-Bash
ide·git·vscode
悲伤小伞9 小时前
linux_git的使用
linux·c语言·c++·git
天机️灵韵11 小时前
云效DevOps vs Gitee vs 自建GitLab的技术选型
git·开源项目
荔枝吻17 小时前
【AI总结】Git vs GitHub vs GitLab:深度解析三者联系与核心区别
人工智能·git·github
mrbone1118 小时前
Git-git worktree的使用
开发语言·c++·git·cmake·worktree·gitab
小哈龙19 小时前
裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端
开发语言·git·bash
GISer_Jing1 天前
Git协作开发:feature分支、拉取最新并合并
大数据·git·elasticsearch
高山莫衣1 天前
git rebase多次触发冲突
大数据·git·elasticsearch