Git 版本库(Ubuntu 环境)

一、什么是版本库(Repository)?

版本库(也叫"仓库")是 Git 用来管理项目文件及其所有修改历史的地方。

你可以把它想象成一个智能文件夹:

  • 你在这个文件夹里写代码、改文档、删文件......
  • Git 会默默记录每一次变化。
  • 如果哪天你发现"还是上周的版本更好",就能轻松回退到任意历史状态,甚至查看某次具体改了哪些内容。

举个例子:就像你写作文反复修改,Git 能帮你保存每一个草稿,并随时找回"最满意的那一版"。

这个被 Git 管理的文件夹,就是版本库。


二、安装 Git(Ubuntu)

我们以 Ubuntu 系统为例进行操作。

首先,检查是否已安装 Git:

css 复制代码
git --version

如果已安装,你会看到类似输出:

复制代码
git version 2.52.0

如果未安装,执行以下命令安装:

sql 复制代码
sudo apt update
sudo apt install git

三、配置 Git 用户信息

Git 需要知道你是谁,以便在提交记录中标注作者。只需配置一次:

arduino 复制代码
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

这里的邮箱不一定要真实,但建议与 GitHub/GitLab 账号一致,方便关联。


四、创建你的第一个版本库

  1. 创建一个新目录作为项目根目录(位置随意):
bash 复制代码
mkdir learngit
cd learngit/
pwd

输出示例:

bash 复制代码
/home/user/Desktop/learngit
  1. 将该目录初始化为 Git 仓库:
csharp 复制代码
git init

成功后会提示:

bash 复制代码
Initialized empty Git repository in /home/user/Desktop/learngit/.git/
  1. 查看隐藏文件:
bash 复制代码
ls -la

你会看到一个名为 .git 的隐藏目录:

复制代码
.  ..  .git

重要 :.git 是 Git 的核心数据库,千万不要手动修改或删除它!否则版本历史将丢失。


五、添加文件并提交到版本库

我们在 learngit 目录下创建一个 C++ 源文件 hello.cpp

c 复制代码
#include <iostream>
using namespace std;
​
int main(void) {
    cout << "Hello World!" << endl;
    return 0;
}

确保文件保存在 learngit/ 目录内,这样它才属于当前工作区。

1. 查看当前状态

lua 复制代码
git status

输出:

vbnet 复制代码
On branch master
​
No commits yet
​
Untracked files:
  (use "git add <file>..." to include in what will be committed)
    hello.cpp
​
nothing added to commit but untracked files present (use "git add" to track)

说明:

  • 当前在 master 分支(Git 默认主分支名)
  • 仓库尚未有任何提交
  • hello.cpp 是一个未被跟踪的新文件

2. 将文件加入暂存区

使用 git add 告诉 Git:"我想把这个文件纳入下一次提交":

csharp 复制代码
git add hello.cpp

再次运行 git status

vbnet 复制代码
On branch master
​
No commits yet
​
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
    new file:   hello.cpp

现在 hello.cpp 已进入暂存区,准备被正式提交。

3. 提交到版本库

执行提交命令,并附上简明的说明:

sql 复制代码
git commit -m "wrote hello world source file"

输出示例:

scss 复制代码
[master (root-commit) 7d2e3bf] wrote hello world source file
 1 file changed, 8 insertions(+)
 create mode 100644 hello.cpp

至此,你的第一个版本已成功保存!

  • master:当前分支
  • 7d2e3bf:本次提交的唯一 ID(可用来回溯)
  • 1 file changed:本次提交包含 1 个文件,新增 8 行代码

六、小结

步骤 命令 作用
初始化仓库 git init 创建本地版本库
查看状态 git status 了解文件跟踪情况
添加文件 git add <file> 将文件放入暂存区
提交变更 git commit -m "说明" 正式保存一个版本
相关推荐
Winlifes2 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理3 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123453 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s3 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人4 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人4 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
荔枝梅梅4 天前
新手程序员 SSH 第一课:从 Git 仓库连接失败理解 SSH 协议与密钥配置
git
玄芯散人4 天前
【筑基·057】Git代码时光机:版本控制入门到分支管理
git·版本控制·嵌入式开发
szephyr4 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
一木 之林4 天前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器