一、基础准备
1. 环境前提
- 安装Git工具:官网下载并安装,右键工程文件夹能出现「Git Bash Here」即成功。
- 配置用户身份(必做,否则无法提交):打开Git Bash,执行以下命令设置全局身份(所有仓库通用),也可省略--global仅配置当前仓库。
git config --global user.name "你的姓名"
git config --global user.email "你的邮箱(如:3160482891@qq.com)"
二、核心操作(按场景分类)

场景1:首次将本地ESP32工程上传到Gitee
- 初始化本地仓库:进入工程文件夹(含CMakeLists.txt、main文件夹的目录),右键打开Git Bash,执行初始化命令,生成隐藏的.git版本管理文件夹。
git init
- 关联Gitee远程仓库:绑定你的Acrel仓库,origin是远程仓库别名,无需修改。git remote add origin https://gitee.com/learning-bacteria617/acrel.git
若提示「remote origin already exists」(已关联过),先删除旧关联再重新执行上条命令:
git remote remove origin
- 添加文件到暂存区:.代表当前目录所有文件,.gitignore会自动忽略build等无用编译产物。
git add .
- 提交到本地仓库:填写清晰备注,便于后续追溯版本。
git commit -m "Initial commit: 上传ESP32工程文件测试"
- 推送到Gitee(以wanglei分支为例):首次推送需带分支名,-u关联本地与远程分支,后续可简化命令。
git push -u https://learning-bacteria617:你的密码/令牌@gitee.com/learning-bacteria617/acrel.git wanglei
场景2:切换分支(如从master切换到wanglei)
- 创建并切换到新分支(首次使用wanglei分支时):
git checkout -b wanglei
- 切换到已有分支(后续切换):
git checkout wanglei
场景3:修改代码后二次上传(已有分支关联)
无需重复初始化和关联仓库,直接执行三步命令:
|----------------------------------------------------------------------------------------------------------------------------------------|
| bash # 1. 添加修改后的文件到暂存区 git add . # 2. 提交到本地仓库(备注改为本次修改内容,如"修复ESP32配置问题") git commit -m "这里写修改说明" # 3. 推送至Gitee(已用-u关联,直接简化命令) git push |
若提示认证失败,用完整命令重试(替换密码/令牌):
git push https://learning-bacteria617:你的密码/令牌@gitee.com/learning-bacteria617/acrel.git wanglei
场景4:克隆Gitee仓库到本地(从远程拉取完整工程)
适用于换设备、多人协作时获取仓库文件,执行命令后本地生成acrel文件夹(含所有版本记录):
git clone https://gitee.com/learning-bacteria617/acrel.git
场景5:更新本地仓库(同步Gitee远程最新代码)
当远程仓库被修改(如他人协作更新),先拉取同步再推送,避免冲突:
进入本地仓库目录
cd /e/acrel/Acrel/esp/esp32-board/huayuxin/4113_WIFI_CW-gys
拉取wanglei分支最新代码
git pull https://gitee.com/learning-bacteria617/acrel.git wanglei
三、错误处理与用户切换
切换Git用户身份
重新执行配置命令覆盖全局身份,后续提交将使用新信息:
git config --global user.name "新姓名"
git config --global user.email "新邮箱"
四、进阶功能(版本管理)
1. 撤销最后一次错误提交(本地+远程)
单人开发专用(多人协作慎用,会抹除远程提交记录):
进入本地仓库目录
cd /e/acrel/Acrel/esp/esp32-board/huayuxin/4113_WIFI_CW-gys
本地撤销最后一次提交
git reset --hard HEAD^
强制推送覆盖远程错误版本
git push -f https://learning-bacteria617:你的密码/令牌@gitee.com/learning-bacteria617/acrel.git wanglei
注:HEAD^代表上一版本,HEAD^^撤销最后2次提交。
2. 对比两次提交的代码变化
- 查看提交记录,复制需对比的两个版本ID(--oneline显示简洁日志):
git log --oneline
输出示例:a1b2c3d(第二次上传) d4e5f6g(第一次上传)
- 对比差异(旧ID在前,新ID在后):
git diff 旧提交ID 新提交ID
- 仅对比指定文件(如main.c):
git diff 旧提交ID 新提交ID main.c
退出diff查看界面:按键盘q键即可。