核心原则
全程仅需掌握5 个核心命令,满足日常开发、版本记录、回滚修复的全部需求,无需复杂操作,适配传感器环筛管理平台项目
一、基础准备(已完成,备查)
1. 仓库初始化(仅执行 1 次)
bash
# 进入项目根目录(Windows系统必加/d,否则无法切换盘符)
cd /d F:\workProject\XXXXXXXXXXXX0707Qt5_6
# 初始化本地Git仓库
git init
✅ 成功标志:终端提示 Initialized empty Git repository in 项目路径/.git/
2. .gitignore 配置(已完成,核心作用:过滤无用文件)
项目根目录的.gitignore已配置 Qt 专属规则,自动过滤编译产物、配置文件、打包文件,避免仓库臃肿,无需手动修改。
二、日常开发核心流程(99% 场景用这 3 步)
步骤 1:修改代码后,查看修改状态(可选,推荐)
cpp
git status
✅ 作用:清晰看到哪些文件被修改 / 新增 / 删除,确认需要提交的内容,避免漏提 / 错提。❌ 红色标识:未加入暂存区的修改文件;✅ 绿色标识:已加入暂存区的修改文件。
步骤 2:将所有修改加入暂存区(必执行)
cpp
git add .
💡 关键:结尾的英文点号不能漏,代表「当前目录下所有修改文件」,一键全部加入暂存区,无需单个选择文件。
步骤 3:提交修改,生成新版本(必执行,核心步骤)
bash
git commit -m "备注内容"
✅ 备注编写规则(核心:人话描述,一眼看懂)
-
格式要求:动作 + 具体内容(动宾结构,简洁明了,控制在一行);
-
推荐动作:修复 / 新增 / 优化 / 删除 / 更新 / 迭代;
-
项目适配示例
bashgit commit -m "修复工具栏窗口拖动问题,移除事件过滤器" git commit -m "新增XX温度实时监控显示功能" git commit -m "优化传感器数据解析逻辑,提升实时性" git commit -m "迭代项目至V2.01,修复3个已知bug" git commit -m "更新.gitignore,过滤exeRealse打包文件夹"✅ 提交成功标志:
终端显示
X files changed, X insertions(+), X deletions(-),并自动生成唯一哈希版本号 (如3ccd76a)。

三、版本管理常用操作(查历史 / 回滚,必备)
1. 查看所有历史版本(最常用,查版本号 / 备注)
bash
git log
作用:列出所有提交记录,包含版本号(前 6 位即可使用)、提交时间、提交备注;
✅ 操作技巧:按Enter键翻页,按q键退出查看;
✅ 核心提取:每个提交最上方的commit 3ccd76a...,前 6 位3ccd76a就是该版本的唯一标识

2. 回滚到指定版本(改崩代码时救命用,慎用)
方式 1:快速回滚到上一个版本
bash
git reset --hard HEAD^
方式 2:回滚到任意历史版本(推荐,精准定位)
bash
# 通用格式:git reset --hard 版本号前6位
git reset --hard 3ccd76a
⚠️ 重要提醒 :回滚操作执行后,当前所有未提交的修改会被彻底删除,且无法恢复!
✅ 回滚前必做:先执行git status确认是否有未提交修改,若有需先提交或手动备份。
四、高频小命令(备查,解决局部 / 整体修改问题)
1. 放弃未加入暂存区的修改(单个文件)
bash
# 通用格式:git checkout -- 文件名(含相对路径,若文件在子目录)
git checkout -- mainwindow.cpp
git checkout -- src/sensor.cpp
✅ 作用:把单个文件恢复到最近一次提交的状态,适合单个文件改崩时快速还原,不影响其他文件。
- 放弃所有未提交的修改(整个项目)
bash
git checkout .
✅ 作用:一键还原整个项目到最近一次提交的状态,适合多处文件改崩且无需保留当前修改时。
五、避坑指南(核心注意,杜绝版本控制翻车)
1. 绝对不能删除的文件
项目根目录的.git文件夹(隐藏文件夹),是 Git 仓库的核心文件,删除后所有历史版本记录会永久丢失,无法恢复!
2. 无需手动处理的未提交文件
.gitignore已自动过滤以下文件,无需手动选择排除,Git 会自动忽略:
- 编译产物:
build/、debug/、release/、*.exe、*.dll、*.lib; - Qt 专属配置:
*.pro.user、*.pro.user.*、*.autosave; - 项目打包文件:
envRealse/; - 系统 / IDE 配置:
Thumbs.db、.vscode/、.idea/、*.suo。
3. 提交备注避坑
- ❌ 禁止无意义备注:如
修改代码、更新、bug修复(无法定位具体修改内容); - ❌ 禁止写入 Git 自动版本号:如
3ccd76a版本更新(Git 会自动管理版本号,多此一举); - ✅ 必须写具体内容:如
修复工具栏mousePress事件过滤导致的窗口任意位置移动问题。
4. 回滚操作避坑
- 回滚前务必反复确认:当前修改是否无需保留,避免误删重要开发代码;
- 若需频繁回滚,建议回滚前记录最新版本号,防止回滚后无法恢复到最新状态。
|----------------------|-------------------|----------------------------|
| 命令 | 核心作用 | 适用场景 |
| cd /d 项目完整路径 | 进入项目根目录 | 所有 Git 操作前的基础步骤 |
| git status | 查看文件修改状态(红 / 绿标识) | 提交前确认修改内容,避免漏提 |
| git add . | 将所有修改加入暂存区 | 提交前必执行步骤 |
| git commit -m "备注" | 提交修改,生成新的版本记录 | 日常开发核心步骤,完成功能 / 修复 bug 后执行 |
| git log | 查看所有历史版本,提取版本号 | 回滚版本前查询对应版本号 |
| git reset --hard 版本号 | 回滚到指定历史版本 | 代码改崩、功能实现失败时还原 |
| git checkout -- 文件名 | 放弃单个文件未提交的修改 | 单个文件改崩,需快速还原时 |
| git checkout . | 放弃所有文件未提交的修改 | 多个文件改崩,无需保留当前修改时 |
七、日常使用流程示例(贴合传感器环筛管理平台项目)
场景 1:修复工具栏窗口移动问题后,保存新版本
- 打开终端,进入项目目录:
cd /d F:\workProject\XXXXXXXXXXXXXX0707Qt5_6 - 查看修改文件:
git status(确认mainwindow.cpp、toolbar.cpp为红色修改状态) - 将修改加入暂存区:
git add .(此时修改文件变为绿色) - 提交并生成版本:
git commit -m "修复工具栏事件过滤器,禁用窗口任意位置移动功能" - 确认提交结果:
git log(查看提交记录,确认版本生成成功,记录版本号备用)
日常最舒服的工作流(推荐)
- 开 Qt Creator → 写代码
- 改完一段功能
- 打开 cmd → 进入项目
- 执行
bash
git add .
git commit -m "修复窗口拖动问题"
- 回到 Qt 继续写代码
- 循环......
场景 2:改崩传感器数据解析代码,回滚到上一可用版本
- 打开终端,进入项目目录:
cd /d F:\workProject\XXXXXXXXXXXXXX0707Qt5_6 - 查看历史版本:
git log(找到上一可用版本的版本号,如8f2e3d) - 执行回滚操作:
git reset --hard 8f2e3d - 验证结果:打开 Qt 项目,确认代码已恢复到上一可用版本,可正常编译运行。
回滚代码
关闭 Qt → 执行回滚 → 再打开 Qt,防止回滚的时候,回复头文件和源文件,和目前编辑的产生冲突。
八、使用建议
- 把「常用命令速查」部分复制到文本文档,贴在电脑桌面,开发时直接复制命令,无需记忆;
- 日常开发遵循「修改代码→git status→git add .→git commit -m "备注" 」流程,每完成一个小功能 / 修复一个 bug 就提交一次,版本记录越细致,后续回滚越精准;
- 纯本地开发无需学习复杂操作(分支、合并、远程仓库等),掌握上述命令即可满足全部版本控制需求;
- 提交备注保持统一风格,便于后续自己 / 团队快速查阅历史修改记录。
文章word版本。通过网盘分享的文件:Git 本地版本控制极简使用笔记(Qt 项目专用)
链接: https://pan.baidu.com/s/1_PcoeHe2OLsOZ61VgdlSHg?pwd=1234 提取码: 1234