裸仓库 + 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
相关推荐
eqwaak011 分钟前
Flask实战指南:从基础到高阶的完整开发流程
开发语言·后端·python·学习·flask
默|笙1 小时前
【c++】红黑树的部分实现
开发语言·c++
轩情吖1 小时前
Qt常用控件之QSpinBox
开发语言·c++·qt·控件·桌面级开发·qspinbox·微调框
掘根1 小时前
【Qt】输入类控件2——SpinBox,DateEdit,TimeEdit,Dial,Slider
开发语言·qt
wshzrf1 小时前
【Java系列课程·Java学前须知】第3课 JDK,JVM,JRE的区别和优缺
java·开发语言·jvm
铅笔侠_小龙虾1 小时前
JVM 深入研究 -- 详解class 文件
java·开发语言·jvm
Humbunklung1 小时前
C# 使用应用RSA和ECC进行数字签名和签名验证
开发语言·c#·rsa·ecc
Larry_Yanan1 小时前
QML学习笔记(十四)QML的自定义模块
开发语言·笔记·qt·学习·ui
练习时长一年2 小时前
ApplicationContext接口实现(二)
java·开发语言
灵性花火2 小时前
针对多工程情况下,Qwidget的ui文件的Stylesheet找不到图片的问题
开发语言·qt