Is it possible to fetch an existing patchset (that has not been merged into my local machine), change and push it as a new Patch Set?
-
related: http://stackoverflow.com/questions/33813465/multiple-devs-pushing-to-same-change – Jonathan.Brink Feb 11 '16 at 17:02
3 Answers
@Uncletall put all the steps there and the link, the only thing is that you should not delete the changeId and you should do a git commit --amend. I am giving him a +1.
It should be like this
On Gerrit, go to the review, select "checkout", on the Download field as opposed to "pull", "cherry-pick", or "patch", then copy the command.
On the git project paste the copied link from above
This will create a detached head, which is a branch with no name (I've been through the desert on a horse with no name, It felt good to be out of the rain.)
Name that horse!
git checkout -b new_branch_name
Change what you want and do a
git add
on the files you want.Do
git commit --amend
and keep the sameChange-Id
.Push your changes:
git push origin <new_branch_name>:refs/for/<thatgerritbranchyouwanttochange>

- 1
- 1

- 611
- 6
- 12
-
1I think you mean `git checkout -b
`. I also then had to amend author information prior to the push since the previous patch was created by someone else: `git commit --amend --author "myself – Gareth Nov 06 '14 at 10:37"` -
why not use `HEAD` instead of creating a new local branch that is not worth for anything (gerrit sadly only keeps a single commit per change any ways) – erikbstack Nov 01 '17 at 11:13
Consult Trying out a Change in the official documentation.
Here is what you do:
- Checkout the change as described in the documentation
- Create a local branch from the FETCH_HEAD
- Modify your code
- Commit the change using
git --amend
and remove theChange-Id
in the commit message - A new
Change-Id
will automatically be added and this will result in a new Change Set - Push your change for review and Gerrit will see it as a new Change Set
As pointed out by @magnus-bäck, I was describing how to create a new Change-Set. If you want to add a new Patch Set to the current review you should NOT remove the Change-Id
.

- 72,696
- 27
- 242
- 420

- 6,609
- 1
- 27
- 52
-
This will create a new _change_, but I think what's being asked for is being table to create a new patch set _on the original change_. Removing the "remove the Change-Id line" item from the list above will address this. One could also mention that it's assumed that a Change-Id line is present in the original commit message. If it isn't, https://gerrit-review.googlesource.com/Documentation/user-upload.html#push_replace describes what to do. – Magnus Bäck Jun 30 '14 at 05:34
Just follow the below steps:
- cherry-pick your patch (from gerrit UI) to your machine.
- Modify the content and run
git add <modified file>
. - Amend the last commit using
git commit --amend
that pops up a COMMIT-EDITMGS window. Save it accordingly. Push your change to gerrit using
git push origin HEAD:refs/for/branch_name
It will create a new patch set.

- 72,696
- 27
- 242
- 420

- 1,000
- 2
- 16
- 35