I'm not saying git is a useless tool. I simply think that if a course expects more than common knowledge of the tool, it should teach it too.
You can't expect someone without git experience to fix broken repository.
Furthermore, I think that there are too many tools programmers are expected to know, and git is one of those. Git is a nice tool, but I don't think that 'real programmers know git' is true per definition. Above all, git is a TOOL; and one could use SVN or mercurial to achieve the same in most circumstances (of course sometimes SVN is an inferior choice, because it's not distributed).
I agree with the rest of the post though. There are reasons to prefer C above other programming languages. However, I think the best approach would be to learn the C-style and learn multiple similar languages, to be aware of the differences.