Someone signing up for a class and not learning anything is a problem. Someone passing a class and not learning anything is a big problem for the signaling power of that degree.
Making it the only way to send in homework motivates people to learn the absolute basics (I haven't seen anyone learn branching like this), but also pisses them off and a lot of times they don't want to use Git at all after that experience.
I did come across this charitable expectation in my CS coursework where you were given tools and expected already to know or to learn on your own. Which is fine if you want to weed people out. I can understand where someone might be frustrated if you hand them a tool and expect them to know or figure it out while they're learning new material.
Even as a professional SW engineer for 10+ years, when I join a new job, the amount of new tools and workflows is overwhelming - and that's when I at least understand the descriptions. Dumping all that on a student is just idiotic, not good teaching.
Maybe git, in particular, does deserve some specific focus given its unique status and ubiquity in the industry.
A decent grasp of cloning, committing, and pushing seemed to be enough. Conflicts are inevitable, and will present a challenge to someone new to the system, but they’re not insurmountable. Good IDE integrated tooling probably goes a long way on this point.
Git will be a speed bump for a student that hasn’t already encountered an scm before. I didn’t take a poll, but I don’t recall any of my classmates encountering issues that they couldn’t work out.
Git didn't exist yet when I was in college, but day 1 was still going over version control as a concept and it was made clear you'd get a zero on any assignments if you didn't use it.