裸仓库 + 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
相关推荐
listhi5207 小时前
对LeNet-5的matlab实现,识别MINST手写数字集
开发语言·matlab
qq_433554547 小时前
C++ manacher(求解回文串问题)
开发语言·c++·算法
csbysj20207 小时前
Chart.js 饼图:全面解析与实例教程
开发语言
浩瀚地学8 小时前
【Java】常用API(二)
java·开发语言·经验分享·笔记·学习
程序员小寒8 小时前
从一道前端面试题,谈 JS 对象存储特点和运算符执行顺序
开发语言·前端·javascript·面试
七夜zippoe8 小时前
事件驱动架构:构建高并发松耦合系统的Python实战
开发语言·python·架构·eda·事件驱动
古城小栈8 小时前
Rust Trait 敲黑板
开发语言·rust
Greg_Zhong8 小时前
Git创建任务分支进行开发,最后合并主分支master【纯git命令执行过程】阐述
git
FL171713149 小时前
MATLAB的Sensitivity Analyzer
开发语言·matlab
lly2024069 小时前
jEasyUI 设置排序指南
开发语言