1. You can't use reset in a just initialized repo: $ mkdir testrepo $ cd testrepo $ echo foo > foo $ git init $ git add . $ git reset fatal: Failed to resolve 'HEAD' as a valid ref. In the real-world, I had initialized a new repository and realized I'd staged extra files I didn't want. I was going to "git reset" then re-add the specific files I wanted, but that obviously failed. I worked around this by using "git rm --cached" to get rid of what I didn't want. I understand why "git reset" failed, but at best the error message is confusing to a new user. 2. "git add --ignore-errors" doesn't work with ignored files: $ mkdir testrepo $ cd testrepo $ git init Initialized empty Git repository in /Users/jay/testrepo/.git/ $ echo foo >> .git/info/exclude $ echo foo > foo $ echo bar > bar $ git add --ignore-errors foo bar The following paths are ignored by one of your .gitignore files: foo Use -f if you really want to add them. fatal: no files added Now you may ask "why are you specifying foo if you don't want to add it?" In the real-world I was generating the list to "git add" with xargs and it was quite a long list. It was easiest to filter out what I didn't want through .git/info/exclude. But I ended up having to "... | grep -v <stuff I don't want> | xargs git add". So I think preferable would be: "Use -f if you really want to add them or --ignore errors to continue anyway." $ git version git version 1.6.0.176.g8698c Thoughts? j. -- 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