Git is fundamentally pretty easy, but its terminology is confusing. Maybe this glossary helps:
commit: a snapshot of your files
tag: a reference to a commit
branch: a moving tag
HEAD: the current branch
index: the next unfinished commit
git-add: copy file(s) to index
git-commit: create a commit from the index
git-checkout: copy file(s) from a commit and redirect HEAD
git-reset: redirect current branch to another commit
git-revert: create new commit, which is the inverse of another commit
An interesting thing is that "the next commit" is an object you can work with in git. This concept is new for svn users. With git you can puzzle together a snapshot before it becomes a "real" commit. So mistakes like "Oops, i should not have commited that file" or "Oops, i forgot a little fix in another file" can be handled with git.
commit: a snapshot of your files
tag: a reference to a commit
branch: a moving tag
HEAD: the current branch
index: the next unfinished commit
git-add: copy file(s) to index
git-commit: create a commit from the index
git-checkout: copy file(s) from a commit and redirect HEAD
git-reset: redirect current branch to another commit
git-revert: create new commit, which is the inverse of another commit
An interesting thing is that "the next commit" is an object you can work with in git. This concept is new for svn users. With git you can puzzle together a snapshot before it becomes a "real" commit. So mistakes like "Oops, i should not have commited that file" or "Oops, i forgot a little fix in another file" can be handled with git.