[项目]-搭建一个git服务器呢,完整详细的落地方案

一台电脑 + 一个 Ubuntu 虚拟机 上搭建 自己的 Git 服务器,并在本机或其他机器上使用。

整个结构是:

复制代码
你的电脑
 ├─ Windows / Mac 主机
 │
 └─ Ubuntu 虚拟机
      └─ Git Server

客户端可以是:

  • 主机
  • 虚拟机
  • 局域网其他电脑

一、准备环境

进入 Ubuntu 虚拟机。

更新系统:

bash 复制代码
sudo apt update

安装 Git 和 SSH:

bash 复制代码
sudo apt install git openssh-server -y

确认 SSH 服务运行:

bash 复制代码
sudo systemctl status ssh

如果没有运行:

bash 复制代码
sudo systemctl start ssh

设置开机启动:

bash 复制代码
sudo systemctl enable ssh

二、查看虚拟机 IP

bash 复制代码
ip addr

找到类似:

复制代码
192.168.56.101

记住这个 IP。


三、创建 Git 用户(推荐)

为了安全,一般专门建一个 git 用户。

bash 复制代码
sudo adduser git

输入密码即可。

切换用户:

bash 复制代码
su - git

四、创建 Git 仓库目录

在 git 用户目录:

bash 复制代码
mkdir repos
cd repos

创建一个仓库:

bash 复制代码
git init --bare project.git

这里 --bare 非常重要。

结构会变成:

复制代码
project.git
 ├─ HEAD
 ├─ config
 ├─ objects
 └─ refs

这是 服务器仓库结构


五、设置访问权限

回到 root:

bash 复制代码
exit

修改权限:

bash 复制代码
sudo chown -R git:git /home/git/repos

六、客户端连接 Git 服务器

假设:

复制代码
服务器IP: 192.168.56.101
仓库: /home/git/repos/project.git
用户: git

克隆仓库:

bash 复制代码
git clone git@192.168.56.101:/home/git/repos/project.git

第一次连接会提示:

复制代码
Are you sure you want to continue connecting?

输入:

复制代码
yes

然后输入 git 用户密码。

克隆成功。


七、开始使用 Git

进入项目:

bash 复制代码
cd project

创建文件:

bash 复制代码
echo hello > readme.txt

提交:

bash 复制代码
git add .
git commit -m "first commit"

推送到服务器:

bash 复制代码
git push origin master

服务器仓库就有代码了。


八、其他电脑访问

只要知道 IP 就能访问:

复制代码
git clone git@192.168.56.101:/home/git/repos/project.git

九、免密码登录(推荐)

使用 SSH Key。

在客户端生成 key:

bash 复制代码
ssh-keygen

一路回车。

生成:

复制代码
~/.ssh/id_rsa
~/.ssh/id_rsa.pub

上传公钥:

bash 复制代码
ssh-copy-id git@192.168.56.101

以后:

复制代码
git push

不需要密码。


十、创建多个仓库

进入服务器:

bash 复制代码
su - git
cd repos

创建:

bash 复制代码
git init --bare test.git
git init --bare firmware.git
git init --bare driver.git

客户端克隆:

复制代码
git clone git@192.168.56.101:/home/git/repos/firmware.git

十一、简单权限管理

如果团队多人:

创建用户:

bash 复制代码
sudo adduser dev1
sudo adduser dev2

然后共享仓库:

bash 复制代码
sudo chown -R git:dev1 /home/git/repos/project.git

或者使用:

复制代码
gitolite

做权限管理。


十二、可视化 Git 服务器(推荐)

如果你想要像公司一样的界面。

可以安装 Gitea

特点:

  • 非常轻量
  • 一个二进制
  • Web界面
  • 用户管理
  • 仓库管理
  • CI插件

下载:

bash 复制代码
wget https://dl.gitea.io/gitea/latest/gitea-linux-amd64
chmod +x gitea-linux-amd64

运行:

bash 复制代码
./gitea-linux-amd64 web

浏览器访问:

复制代码
http://虚拟机IP:3000

你会看到类似 GitHub 的界面。

可以:

  • 创建仓库
  • 管理用户
  • 提交代码
  • 看 commit

十三、完整使用流程

开发流程:

复制代码
1 写代码
2 git add
3 git commit
4 git push
5 服务器保存版本

其他电脑:

复制代码
git pull

同步代码。


十四、最终架构

你本地就变成:

复制代码
电脑
 ├─ Windows / Mac
 │
 ├─ Ubuntu虚拟机
 │    └─ Git Server
 │
 └─ 客户端开发

作用:

  • 代码版本管理
  • 多项目管理
  • 代码备份
  • 团队协作

十五、一个真实嵌入式开发流程

例如做 STM32 项目:

复制代码
firmware
 ├─ drivers
 ├─ bsp
 ├─ app
 ├─ middleware
 └─ docs

开发流程:

复制代码
git clone
写代码
git commit
git push

服务器自动保存所有版本。


十六、常用 Git 命令

提交:

bash 复制代码
git add .
git commit -m "message"
git push

更新:

bash 复制代码
git pull

查看状态:

bash 复制代码
git status

查看历史:

bash 复制代码
git log

十七、备份服务器(重要)

定期备份:

bash 复制代码
tar -czvf git-backup.tar.gz /home/git/repos

最后总结

最简单可靠的方案:

复制代码
Ubuntu虚拟机
    ↓
安装 git + ssh
    ↓
创建 git 用户
    ↓
创建 bare 仓库
    ↓
客户端 clone / push

10分钟就能跑起来。


如果你愿意,我可以再给你一套 "个人开发者最舒服的 Git 架构",很多程序员自己都在用,比如:

复制代码
Gitea + Git + CI + 代码门禁

整个系统 只需要 300MB 内存,但体验接近 GitHub,非常适合个人或小团队。

相关推荐
盐焗西兰花34 分钟前
鸿蒙学习实战之路-Share Kit系列(15/17)-手机与PC/2in1设备间分享
学习·智能手机·harmonyos
憧憬从前39 分钟前
算法学习记录DAY1
c++·学习
bIo7lyA8v44 分钟前
从零学习Kafka:集群架构和基本概念
学习·架构·kafka
風清掦1 小时前
【江科大STM32学习笔记-10】I2C通信协议 - 10.1 软件I2C读写MPU6050
笔记·stm32·单片机·嵌入式硬件·物联网·学习
Devlive 开源社区1 小时前
DockMaster Pro v1.0.0 正式发布
学习
阿荻在肝了2 小时前
Agent学习三:构建第一个 Agent(详细完整版)
学习
盐焗西兰花2 小时前
鸿蒙学习实战之路-Share Kit系列(16/17)-隔空传送与可信任设备
学习·华为·harmonyos
少许极端3 小时前
算法奇妙屋(四十二)-贪心算法学习之路 9
学习·算法·贪心算法
EmbeddedCore3 小时前
MQTT协议学习笔记(深入解析版)
笔记·学习
WYT王玉桐4 小时前
LINUX学习
学习