裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端

下面是在 Windows 上使用 裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端 的详细步骤。适合本机或局域网其他设备通过 SSH 或本地路径 访问,简单轻量,适合开发者日常使用或小团队协作。


🛠️ 一、准备工作

1. 安装 Git for Windows

  • 默认安装即可(勾选 Git Bash、OpenSSH)

  • 安装完成后可以使用 Git Bash


📦 二、服务端配置(裸仓库)

1. 创建裸仓库

裸仓库是不能直接写代码的,只用于共享、推送和拉取代码。

在 Git Bash 执行以下命令:

bash 复制代码
mkdir -p D:/git-server/myproject.git
cd D:/git-server/myproject.git
git init --bare

文件夹会出现如下结构:

bash 复制代码
HEAD
config
description
hooks/
info/
objects/
refs/

🧑‍💻 三、客户端配置(同一台电脑作为客户端)

你可以在本机的其他文件夹中进行操作:

1. 克隆裸仓库(使用本地路径)

bash 复制代码
git clone file:///D:/git-server/myproject.git

也可以这样写:

bash 复制代码
git clone D:/git-server/myproject.git

2. 进行开发

bash 复制代码
cd myproject
echo "# Hello Git Server" > README.md
git add README.md
git commit -m "init"
git push origin master

🌐 四、局域网其他电脑访问(可选)

1. 开启 Windows 的 SSH 服务(可选)

你需要:

  • 在 Windows 启用 OpenSSH Server(Windows 功能里开启)

  • C:\Users\用户名\.ssh\authorized_keys 添加客户端公钥

  • 将裸仓库放到某个用户有访问权限的目录,如 C:\git-server

客户端可通过命令:

bash 复制代码
git clone ssh://user@192.168.1.10/C:/git-server/myproject.git

✅ 五、简易使用总结

功能 命令示例
初始化裸仓库 git init --bare
克隆裸仓库(本地) git clone file:///路径
克隆裸仓库(局域网) git clone ssh://user@ip/路径
设置远程地址 git remote add origin ...
推送代码 git push origin master

📌 示例流程演示(完整命令串)

bash 复制代码
# 1. 服务端创建裸仓库
mkdir -p D:/git-server/myproject.git
cd D:/git-server/myproject.git
git init --bare

# 2. 客户端 clone
cd D:/workspace
git clone D:/git-server/myproject.git

# 3. 提交代码(可以将需要添加的自己的代码全部放到该目录下,然后批量提交(注意添加忽略文件))
cd myproject
echo "test" > test.txt
git add .
git commit -m "add test"
git push origin master
相关推荐
眠りたいです2 小时前
现代C++:C++17中的新语言特性
开发语言·c++·c++17
一只旭宝2 小时前
【C++入门精讲17】序列容器
开发语言·c++
Demon1_Coder2 小时前
Day1-SpringAI-1.0.0版本
java·开发语言·前端
郝学胜-神的一滴2 小时前
Qt 高级开发 021:零基础吃透 QVBoxLayout 垂直布局
开发语言·c++·qt·程序人生·用户界面
basketball6162 小时前
C++进阶:2. std::move 和 std::forward 函数
java·开发语言·c++
_oP_i2 小时前
105、word 出现 {TOCO“1-2“HZ}
开发语言·c#·word
江华森2 小时前
Git + Maven Java 项目部署实战全指南
运维·笔记·git·学习·maven
yong99902 小时前
基于MATLAB的雷达数字信号处理
开发语言·matlab·信号处理
拾光Ծ2 小时前
【Linux系统编程】线程池项目实战与基于策略模式的日志系统
linux·bash·线程池·策略模式·日志
SilentSamsara2 小时前
HTTP 客户端实战:httpx/重试/限速/连接池/中间件设计
开发语言·网络·python·http·青少年编程·中间件·httpx