In article <12B5BDAB-DD9C-4CED-9489-0773BF577DF3@xxxxxxxxxxxxxxxxxx>, Brian Gernhardt <benji@xxxxxxxxxxxxxxxxxx> wrote: > On Feb 12, 2010, at 4:25 PM, Ron Garret wrote: > > > Yeah, I considered that. The problem with that is that the actual > > process turns out to be pretty obtrusive. The scenario is that I've > > done a bunch of hacking on the main branch and I realize that it's going > > nowhere. Nothing is working, everything is a horrible mess that's > > spinning wildly out of control. I want to get rid of everything I've > > done and start over from an earlier snapshot that I knew was working. > > But I also want to keep a copy of this current messy state around for > > reference just in case there's a snippet here and there that might be > > salvageable later on. I don't know of any easy way to save the messed > > up file onto another branch. I'd have to save the file somewhere (in > > the stash maybe?), check out the snapshot branch, retrieve the saved > > file, do the commit, and then switch back to the main branch. > > Have you tried creating a new branch without saving the state? > > git checkout -b failed-experiment > git commit -a -m "Back to the drawing board" > git checkout master > > Or if a series of commits seem to have gone bad: > > git commit -a -m "Well, that didn't work." > git branch failed-experiment > git reset --hard origin/master # or other good state > > You can of course replace the -a to commit with the needed "git add <file>" > commands and leave off the -m to leave real messages about why it went bad > using $EDITOR. That would require a separate branch for every snapshot, no? I want this to be lightweight. It's not so much the creation of a zillion branches that bothers me, but having to come up with a new name every time would be a real hassle. rg -- 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