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

相关推荐
香水5只用六神3 小时前
【TIM】基本定时器定时实验(2)
c语言·开发语言·stm32·单片机·嵌入式硬件·mcu·学习
承渊政道3 小时前
C++学习之旅【C++伸展树介绍以及红黑树的实现】
开发语言·c++·笔记·b树·学习·visual studio
yangyanping201083 小时前
Linux学习三之 清空 nohup.out 文件
linux·chrome·学习
臭东西的学习笔记3 小时前
论文学习——深度对比学习支持全基因组虚拟筛选
学习
前端不太难3 小时前
OpenClaw 代码里最值得学习的 10 个设计
学习·状态模式
点PY3 小时前
OpenGL学习(2)——你好,三角形
学习
困死,根本不会4 小时前
Git 远程连接仓库学习笔记(本地→GitHub)
笔记·git·学习
青稞社区.4 小时前
ROLL 团队分享:面向多轮交互 Agentic 场景的 Rollback 课程学习机制探索与实践
人工智能·经验分享·学习·交互