STM32F2/F4设备包迁移指南:从StdPeriph到HAL框架
2026/5/5 4:14:28
适用角色:
✔ 你是某个模块的开发者
✔ 有自己的个人开发分支(green_dev_luyi)
✔ yellow_validate 属于公共验证分支
✔ 要定期同步 yellow 的更新
✔ 最终要从自己分支发起 Merge Request(MR)
git checkout green_dev_luyi每次开始写代码前,都要做这个:
git fetch origin git rebase origin/yellow_validate如果没有冲突 → 成功
如果有冲突:
(手动改冲突) git add . git rebase --continue好处:你的分支永远是干净的直线历史。
git add . git commit -m "your message"因为你使用了 rebase,提交 hash 被改写 → 必须强制推送:
git push origin green_dev_luyi --force创建:
green_dev_luyi → yellow_validate
等待代码审查 → 完成。
yellow ---- A ----- B ----- C \ (你的分支) D' -- E' -- F'完全不会出现:
✘ Merge branch ‘yellow’…
✘ 多条乱七八糟的合并记录
✘ 无意义的 merge commit 堆积
git status # 看当前状态 git branch -vv # 看当前分支跟踪的远端分支 git add . # 加入暂存区 git commit -m "msg" # 提交 git push # 推送 git pull # 拉取并合并(不推荐用于你的分支)git fetch origin git rebase origin/yellow_validate git rebase --continue git rebase --abortgit push origin green_dev_luyi --forcegit log --oneline --graph --allgit restore <file> # 撤销未提交的改动 git reset --hard # 重置到上次提交(慎用)git stash git stash pop git stash list git stash drop如果你 commit 太多、很乱,可以压缩整理:
git rebase -i HEAD~5可把多个 commit 合成一个,提高代码审查体验。
永远不要在别人的分支(如 yellow_validate)执行:
git push git commit git merge xxx git reset --hard你只需要 Panel 上开 MR,让别人合。
你所有开发全在 green_dev_luyi 上 →
用 rebase 同步 yellow →
push 自己分支 →
GitLab 上发 MR → 合到 yellow。
流程轻松稳定,历史干净无 merge。