为什么提示没有changid?

发布时间:2026/7/23 17:37:06
为什么提示没有changid? 本地有提交但是被服务器拒绝拉。默认 git pull origin master 等价于git fetch origingit merge origin/masterGit 的做法是把两边合在一起并新建一条 merge commit MA / \… → B → C → M ← “Merge branch ‘master’ of …”M 是专门为这次合并生成的message 通常是 Merge branch ‘master’ of …这条 commit 往往没有 Change-Idmerge 时 hook 通常不会给它加推 Gerrit 时M 也在推送链里就会被拒这就是你遇到 0bd099b 的原因。0bd099b 在你自己的电脑上不在 Gerrit 上所以 Gerrit 才会 reject它从未成功 push 上去。git pull 能成功pull 没问题。问题是 pull 用了 merge多了一条 本地 merge 提交推 Gerrit 时这条也要带 Change-Id但它没有就被拒了和“服务器 merge 拉不下来”的区别你的理解 实际情况服务器有 mergepull 失败pull 成功了问题在远程问题在 本地历史里多了一条 merge最新 commit 缺 Change-Id最新那条有中间 merge 那条没有以后怎么做拉代码时用 rebase避免产生 merge commitgit pull --rebase origin master或全局设置git config --global pull.rebase true