裸仓库 + 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 分钟前
Qt 多线程详解:从 QThread 到实战
开发语言·qt·面试
郑州光合科技余经理10 分钟前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
2601_9620715711 分钟前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm
Wang's Blog26 分钟前
Java 项目实战: 外卖平台优化-前后端分离开发模式与工程拆分
java·开发语言
Dovis(誓平步青云)1 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
sunshine22 girl1 小时前
Java学习六 Java常见API-2--String-3-字符串的截取替换和其他方法
java·开发语言·学习
LOVE️YOU2 小时前
Python 函数名、函数对象与“把函数作为参数传递”
开发语言·python
sunshine22 girl2 小时前
Java学习六 Java常见API-1-Radom随机数
java·开发语言·学习
可乐鸡翅yeah_2 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
潼心1412o3 小时前
C++初阶(长期更新)第6讲:类和对象(下)
开发语言·c++·算法