Reputation: 63687
When trying to revert to a previous commit, I tried:
git revert --no-commit 0766c053..HEAD
However this gave an error:
empty commit set passed
Question: What does the error mean, and what went wrong with the revert
command?
Upvotes: 18
Views: 25884
Reputation: 20148
It seems to me that you misused the double dot
annotation to specify a commit range.
So your range doesn't return any commits which means that revert
can't do anything, since you effictively said "revert no commits".
The gitpro book explains the double dot
annotation (link to chapter) pretty solid:
The most common range specification is the double-dot syntax. This basically asks Git to resolve a range of commits that are reachable from one commit but aren’t reachable from another. For example, say you have a commit history that looks like Figure 6-1.
You want to see what is in your experiment branch that hasn’t yet been merged into your master branch. You can ask Git to show you a log of just those commits with
master..experiment
— that means "all commits reachable by experiment that aren’t reachable by master." For the sake of brevity and clarity in these examples, I’ll use the letters of the commit objects from the diagram in place of the actual log output in the order that they would display:
$ git log master..experiment
D
C
If, on the other hand, you want to see the opposite — all commits in
master
that aren’t inexperiment
— you can reverse the branch names.experiment..master
shows you everything inmaster
not reachable fromexperiment
:
$ git log experiment..master
F
E
Upvotes: 8
Reputation: 653
Remove the ..HEAD part. At least on my system (git v2.7.4) this resolved the issue.
git revert --no-commit 0766c053
Upvotes: 8