Git 会把本地领先的多个 commit 一起推上去,Gerrit 就为每个 commit 建一条评审。

📅 2026/7/16 20:35:10
Git 会把本地领先的多个 commit 一起推上去,Gerrit 就为每个 commit 建一条评审。
Gerrit 上之前那 3 条评审可以在网页上 Abandon 掉只保留这条新的。为什么之前那 3 条会同时出现Commit 原因业务 commit正常开发提交Save local strings.xml…pull 前临时 commit 本地修改Merge branch ‘master’…普通 git pull 产生的 merge commit推送时 Git 会把本地领先的多个 commit 一起推上去Gerrit 就为每个 commit 建一条评审。更稳妥的方案备份分支不用 stash如果还是不敢用 stash用本地备份分支代码只进 Git、不丢1. 从当前状态建一条本地备份分支git checkout -b backup/wip-202507162. 把当前所有改动提交到这条分支只存在你电脑上不推送git add 业务目录git commit -m “backup: local wip snapshot before rebase”3. 回到 master此时工作区是干净的git checkout master4. 确认干净git status应显示nothing to commit, working tree clean5. 拉远端并 rebasegit pull --rebase origin master6. 从备份分支只恢复业务目录不要整棵 cherry-pick避免带进 log/apk按你实际改动的目录继续加…7. 只提交业务代码8. 推 Gerritgit push origin HEAD:refs/for/master备份分支 backup/wip-20250716 会一直留在本地随时可对比或再取文件git branch # 能看到 backup/wip-20250716git log backup/wip-20250716 -1git log origin/master…HEAD --oneline应只有 1 条以后避免再出现 3 条推送前执行git log origin/master…HEAD --oneline应只有 1 条或你刻意拆分的几条不应出现 Merge branch 或 Save local … before pull。结论红框里 5:36 PM 三条全部 Abandon只留 6:04 PM 那条给审核人评审。 这样列表就干净了。