Gerrit 不小心引入了一些合并提交(配置了“必要时合并”选项),我想将它们从历史记录中删除。我知道团队使用 Git 时重写历史记录的缺陷,但在我们的案例中,开发人员不会因此受到影响,因为他们都没有在这个特定的存储库中进行本地更改。
我在git rebase -i
本地做了一个,Git 自动删除了 Gerrit 的合并提交。我小心地删除了每个提交消息中以前的 Gerrit Change-Ids,Gerrit 提交消息挂钩添加了新的。
git status
命令输出:
在分支 master 你的分支和 'origin/master' 已经分道扬镳,分别有 7 和 9 个不同的提交。(使用“git pull”将远程分支合并到你的)没有提交,工作目录干净
这就是我想要的(9 个提交减去 2 个合并提交)。
当我尝试推动 Gerrit 时,git push origin HEAD:refs/for/master
我没有收到任何错误。但是,当我尝试在 Gerrit Web 界面上查看和提交时,我收到以下错误:
由于路径冲突,无法合并更改。请在本地重新设置更改并上传重新设置的提交以供审核。
我做错了什么?