On Tue, 14 Feb 2006, Carl Worth wrote: > > I don't know if it's the original poster's question or not, but an > operation I don't see in the above is "put the working files into the > state of a given revision". What a strange thing to ask for. But you can do it several ways: - just use "git reset" to move around in history, possibly on a temporary branch. - use "git checkout <rev> <filename>" to checkout a particular filename of a particular version (it's a special case of "git checkout", which is useful, but I personally think it's a bit confusing, so I wouldn't mention it unless you asked) - use the core internal git functions, in particular git-read-tree -m -u <oldtree> <newtree> will switch from "oldtree" to "newtree" and update (-u) the working tree. > 2) Ensure that bogus-branch exists somewhere (don't care where), then > move it: > > # Create the branch (if it doesn't exist) > git checkout -b bogus-branch >& /dev/null > # Switch to it (which doesn't happen above if it already existed) > git checkout bogus-branch > # Move the branch to the revision of interest > git reset --hard <revision> This is actually what I'd suggest you always do. Why? It's actually as efficient as anything else, and there's much less room for confusion. When you want to go back, you can just do a simple git checkout -f master and there's no room for confusion. You've not lost sight of any old state, and your HEAD never differs from your checked-out copy, so all the normal commands work the way you'd expect them to. Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Wed Feb 15 05:36:05 2006
This archive was generated by hypermail 2.1.8 : 2006-02-15 05:36:17 EST