Domenico Andreoli wrote:
What is this reflog thing and why is required?
It is a log of where each ref pointed at any given time. Or rather, a
log of changes to refs, with timestamps. It is not *required* per se
(you can turn it off and almost all of git will continue to work as
before) but it's handy in that you can say stuff like
git checkout -b newbranch master@"{4 days ago}"
and git will give you a new branch pointing at the rev that master
pointed to 4 days ago, even if it's a rev that is no longer reachable
from any of the existing heads (e.g., because you did a "git rebase" and
the rev in question was replaced by a new one.) Obviously as soon as you
do a "git gc" you will lose the ability to go back to unreachable revs
using the reflog.
I primarily use the reflog to undo rebase operations. Not that I need to
do that very often, but it's occasionally handy, e.g., if there was a
conflict and I made a mistake while resolving it.
-Steve
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html