git提交代码到gerrit失败
git提交代码到gerrit失败 一、前言 tips:如果我们想在gerrit上管理代码。那么你的每次提交都要带上一个commit_id,这样才能保证你能push到远端的rfes/for/master上。(注意是这个Change_id) 要每次提交代码的时候都带上一个这样的唯一标识: 怎么生成唯一标识可自行查找 二、背景: 提交代码的正确姿势: 1:提交代码 git add . git commit --amend (注意这里一定是amend,因为要保证每次的patchset是同一次提交) 2:拉取远端最新的变化 git fetch --all 3:rebase主干分支(master)的代码变化 git rebase origin/master -i 4:提交代码到主干分支 git push origin HEAD:refs/for/master 错误复现: 提交代码没有问题,在拉取远端最新的分支变化的时候我执行的是 git catch (起的git命令别名。这里我以为执行的是 git fetch --all 其实是 git remote update origin --prune )前者是拉取远程分支的变动,后者是更新分支的变动。所以实际上并没有更新远程分支的代码。这时候我push到远程分支被拒绝。所以我就reset到master的上一次提交,然后再add, commit -