在局域网内共享本地 Git 仓库的方法

在局域网内共享本地 Git 仓库的方法

要让同一局域网内的其他人访问你的本地 Git 仓库,有几种简单的方法可以实现:

方法一:使用 Git 内置协议(最简单)

  1. 在仓库所在电脑上启动 Git 内置服务器
bash 复制代码
cd /path/to/your/repo
git daemon --verbose --export-all --base-path=. --enable=receive-pack

这会在默认端口 (9418) 启动一个只读的 Git 服务器。

  1. 其他用户克隆仓库
bash 复制代码
git clone git://<你的IP地址>/<仓库目录名>

例如:

bash 复制代码
git clone git://192.168.1.100/my-project

方法二:使用 HTTP 协议(需要 Python)

  1. 临时 HTTP 服务器
bash 复制代码
cd /path/to/your/repo
python3 -m http.server 8000 --bind 0.0.0.0
  1. 其他用户克隆
bash 复制代码
git clone http://<你的IP地址>:8000/

方法三:使用 SSH 协议(最安全)

  1. 确保 SSH 服务已启动(通常 macOS/Linux 自带)

  2. 其他用户克隆

bash 复制代码
git clone ssh://<你的用户名>@<你的IP地址>/path/to/your/repo

例如:

bash 复制代码
git clone ssh://user@192.168.1.100/home/user/projects/my-repo

方法四:使用共享文件夹

  1. 将仓库目录设为共享文件夹(通过 SMB/NFS)

  2. 其他用户克隆

bash 复制代码
git clone file:////<网络路径>/repo

例如 Windows:

bash 复制代码
git clone file:////192.168.1.100/Shared/my-repo

注意事项

  1. 查看本机局域网 IP
  • Windows: ipconfig
  • macOS/Linux: ifconfigip a
  1. 防火墙设置
  • 确保相关端口(9418, 8000, 22等)在防火墙中开放
  1. 权限问题
  • 确保其他用户有读取仓库文件的权限
  1. 长期解决方案
  • 对于长期协作,建议搭建 GitLab、Gitea 等专业 Git 服务

最推荐的简单方案

对于临时共享,推荐使用 Git 内置协议:

bash 复制代码
# 在仓库电脑上
cd /path/to/repo
git daemon --verbose --export-all --base-path=. --enable=receive-pack

# 在其他电脑上
git clone git://<IP地址>/.

这样设置最简单,且不需要额外配置。

相关推荐
恋喵大鲤鱼11 小时前
git mv
git·git mv
Patrick_Wilson14 小时前
Git Worktree 原理详解:从 objects / refs 看懂多分支并行与多 Agent 协作
git·面试·ai编程
yaoxiaoganggang15 小时前
克隆 Superpowers 的规则库到你的本地(或者直接作为 Git Submodule)
人工智能·经验分享·git·ai编程
Python私教17 小时前
用 Claude Code 做大型重构不翻车:分批+Git 兜底+验证闭环的实战流程(2026)
git·重构·ai编程·代码重构·工程实践·claude code
Shawn Dev18 小时前
团队协作中的 Git Tag 最佳实践:从入门到精通
大数据·git·elasticsearch
独隅19 小时前
Git/GitHub/GitLab/Gitee 核心对比指南
git·gitlab·github
佛山个人技术开发20 小时前
GitCode个人技术开发者总结完整使用指南
windows·git·svn·github·gitcode
江华森20 小时前
基于 Git 的自动集成交付(Git-Driven CI/CD)实战
git·ci/cd
Dontla1 天前
.gitkeep文件作用(让Git追踪空目录,使该目录能被纳入版本控制)!.gitkeep
大数据·git·elasticsearch
shandianchengzi1 天前
【记录】VSCode|Windows 下 VS Code 配置 Git Bash 为默认终端完整教程
windows·git·vscode·bash