I have worked for years with multiple source code control systems up to and including subversion for my last 3 year project. But using git (and eGit) on a single shared repository has utterly stumped me. Have I local repository? beats me. Why can I not see and repair differences--I try and the differences remain. I want to check in specific changes to HEAD?, tough luck--no fastforward checkins. Repair fast forward checkins? Well, no, that doesn't work. Try to rebase? Well, someone else removed the erroneously created .class files and now there is an interaction between .gitignore and the remote repository.
Basically it is taking me longer to check in changes and update my project source than it took to write the code itself.
I hope that whoever has been promoting git finds themselves in a well-deserved coding hell.