:linkattrs:
= no new changes

With this error message Gerrit rejects to push a commit if the pushed
commit was already successfully pushed to Gerrit in project scope.
In this case there is no new change and consequently there is nothing
for Gerrit to do.

If your push is failing with this error message, you normally
don't have to do anything since the commit was already successfully
pushed. Still this error message may sometimes come as a surprise if
you expected a new commit to be pushed. In this case you should
verify that:

. your changes were successfully committed locally (otherwise there
  is no new commit which can be pushed)
. you are pushing the correct commit (e.g. if you are pushing HEAD
  make sure you have locally checked out the correct branch)

If you are sure you are pushing the correct commit and you are still
getting the "no new changes" error unexpectedly you can take the
commit ID and search for the corresponding change in Gerrit. To do
this simply paste the commit ID in the Gerrit Web UI into the search
field. Details about how to search in Gerrit are explained link:user-search.html[here].

Please note that generally it only makes sense for each commit to
be pushed only once. This means:

. you cannot push a commit again even if the change for which the
  commit was pushed before was abandoned (but you may restore the
  abandoned change)
. you cannot reset a change to an old patch set by pushing the old
  commit for this change again
. if a commit was pushed to one branch you cannot push this commit
  to another branch in project scope (see link:user-upload.html#base[exception]).
. if a commit was pushed directly to a branch (without going through
  code review) you cannot push this commit once again for code
  review (please note that in this case searching by the commit ID
  in the Gerrit Web UI will not find any change), see
  link:user-upload.html#base[exception].

If you need to re-push a commit you may rewrite this commit by
link:http://www.kernel.org/pub/software/scm/git/docs/git-commit.html[amending,role=external,window=_blank]
it or doing an interactive
link:http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html[git rebase,role=external,window=_blank],
or see link:user-upload.html#base[exception,role=external,window=_blank].
By rewriting the commit you actually create a new commit
(with a new commit ID in project scope) which can then be pushed to Gerrit.

If you are pushing the new change to the same destination branch as
the old commit (case 1 above), you also need to replace it with a new
Change-Id, otherwise the push will fail with another error message.

Sometimes a change no longer makes sense to be destined for a specific
branch, and instead of trying to re-push the commit for a different
branch, it makes more sense to move the change to the preferred branch
(where it will now likely need a rebase). Moving the change instead of
pushing a rebased commit to the preferred branch helps to retain code
review comments and any previous patchsets on the original change.

== Fast-forward merges

You will also encounter this error if you did a Fast-forward merge
and try to push the result.  A workaround is to use the
link:user-upload.html#base[Selecting Merge Base]
feature or enable the
link:project-configuration.html#_use_target_branch_when_determining_new_changes_to_open[
Use target branch when determining new changes to open]
configuration.

GERRIT
------
Part of link:error-messages.html[Gerrit Error Messages]

SEARCHBOX
---------
