Because of how gerrit relies on change-ids, in order to resolve conflicts (pull changes to your topic branch) the best practice is to rebase topic branch onto master/other branch you want to push to. This way you preserve the change-id without having to ammend the merge commit. For example if you submit foo to refs/for/master
with history as follows:
a < foo
/
---s < master
Then gerrit will create a change with change-id taken from the commit a
. But say after you passed review but before you submitted to master someone submitted their change:
a < foo
/
---s---x < master
If you rebase foo
onto master
you'll have
a < foo
/
---s---x < master
And you can easily push a
again with the same change-id.