I read on here and searched a lot but didn\'t find the answer, so Is there a way to switch between commits like you do with branches.Let\'s say I have these commits: a
Just type git checkout a. Or perhaps more usefully, git checkout -b mybranch a, to checkout a as a new branch mybranch.
If you want to revert b and c, you can use git revert, or to remove them entirely from your current branch's history, you could git rebase -i a and throw them out.
Even if you were going to use git diff, you wouldn't have to do anything manually. Check out git format-patch, git apply, and git am to automate creating and applying patches.