[Xcb] git rollback question
cworth at cworth.org
Thu Apr 27 12:21:29 PDT 2006
On Thu, 27 Apr 2006 11:59:29 -0700, Ian Osgood wrote:
> I made similar changes as Jamey to fix deprecations, resulting in
> conflicts that I can't figure out how to resolve. Is there a way to
> rollback a local commit so I can sync back up with the main XCB
The commit itself is permanent.
What can move are the branch references that just point to commits.
Usually, your branch references are just moved "forward" linearly by
But the branch reference is really just a pointer and it's quite easy
to move it around arbitrarily.
The only real danger in doing this is that if you move a reference
away from a commit and you don't have anything else referencing it, (a
child commit, another branch, a tag, a scrap of paper with the sha1,
etc.), then it can be difficult to find the commit again. So you might
want to just do a "git tag before-reset" or so just in case.
With all that explanation and caution out of the way, the way to move
your current branch reference around is actually quite easy:
git reset elsewhere
(where elsewhere is something that can be resolved to a commit
If you've got some local modifications, then git-reset will kindly
balk at losing them. But if you really do want to drop them, then you
git reset --hard elsewhere
Finally, there are a bunch of convenient shorthands for finding
references based on the parentage of commit objects. See the
documentation of git-rev-parse for details, but one example is HEAD~1
which gives you the immediate parent of the commit referenced by the
current branch. So "rolling back" a single commit might look very much
git reset HEAD~1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/xcb/attachments/20060427/20e86544/attachment.pgp
More information about the Xcb