> I then deleted all files from the working directory, so I can pull out > ONLY the ones in version A. > I tried both fetch and checkout - but nothing was copied into working > dir How do I do this ? git treats deleted files just like edited files: as having been changed in preparation for the next commit. You can get back all of the tracked files using this command: $ git reset --hard It undoes _all_ changes: tracked edited files will be reverted to their in-repository state, deleted files created again. You can also check out individual files like this: $ git checkout ABC.txt If you just want to get rid of untracked files, you'd use the command "git clean". In general, if you switch your work tree from one revision to another (git checkout), git tries to minimize the I/O needed. Files that are the same in both aren't touched. >>>>>>>>>>>>>>>>>>> Hi Rene, Thanks for taking the time. My workflow is such that I inherit projects that are hard to debug and I need to hack around a lot changing a lot of files to output tracking msgs just to learn the code's functionality (e,g, PHP on a webserver), but these changes I never intend to keep. After learning the code, I want to go back to a "last known good". I.e. a previous stable version and start making proper changes. In other SCMs, there was a way to "discard" all local changes, after the hacking phase, without EVER having had to commit. For a while it seemed like you were telling me I had to COMMIT my hacked code (against all my instincts :-), and THEN rollback ($ git reset --hard). Now, I went back and read the manual pages for git-checkout and think I see how to do it.... $ <import code> $ git init $ git commit $ git tag versionA <commitID> $ hack hack hack ... now ready to start coding, want "last known good" $ rm *.* $ git checkout versionA . This worked fine when versionA had only files and no dirs - but will it work ok still if versionA is a proper tree ? (more of a unix question I suppose - will "." suffice as the path ?) -- 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