[项目]-搭建一个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,非常适合个人或小团队。

相关推荐
La Pulga12 小时前
【FreeRTOS源码学习笔记】任务延时列表
笔记·mcu·学习·嵌入式·freertos·实时操作系统
楚山之石14 小时前
【JCO】mpMRI 先行替代 TURBT 初始分期:BladderPath 随机试验让 MIBC 患者提前 45 天得到正确治疗
人工智能·学习·mri·医学影像
Peter-OK17 小时前
PostgreSQL学习笔记(入门-进阶-精通说明)
笔记·学习·postgresql
承渊政道17 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
橙橙笔记19 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
Hhy_11071 天前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
山甫aa1 天前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
m0_564876841 天前
CMake学习
学习
只愿云淡风清1 天前
正则表达式学习笔记 02:基础语法
笔记·学习·正则表达式
wangqiaowq1 天前
Ontology 学习 二
学习