How to change a patchset and push it as a new one?

后端 未结 3 1173
北恋
北恋 2021-02-04 06:00

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?

相关标签:
3条回答
  • 2021-02-04 06:50

    Just follow the below steps:

    1. cherry-pick your patch (from gerrit UI) to your machine.
    2. Modify the content and run git add <modified file>.
    3. Amend the last commit using git commit --amend that pops up a COMMIT-EDITMGS window. Save it accordingly.
    4. Push your change to gerrit using git push origin HEAD:refs/for/branch_name

      It will create a new patch set.

    0 讨论(0)
  • 2021-02-04 06:53

    Consult Trying out a Change in the official documentation.

    Here is what you do:

    1. Checkout the change as described in the documentation
    2. Create a local branch from the FETCH_HEAD
    3. Modify your code
    4. Commit the change using git --amend and remove the Change-Id in the commit message
    5. A new Change-Id will automatically be added and this will result in a new Change Set
    6. 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.

    0 讨论(0)
  • 2021-02-04 07:05

    @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

    1. On Gerrit, go to the review, select "checkout", on the Download field as opposed to "pull", "cherry-pick", or "patch", then copy the command.

    2. 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.)

    3. Name that horse! git checkout -b new_branch_name

    4. Change what you want and do a git add on the files you want.

    5. Do git commit --amend and keep the same Change-Id.

    6. Push your changes:

      git push origin <new_branch_name>:refs/for/<thatgerritbranchyouwanttochange>

    0 讨论(0)
提交回复
热议问题