You can get a CS degree and never, ever encounter SQL injection, unit testing, or serious version control. Hell, you can get an MS without worrying about those things.
I'll agree with you about SQL injection, but I don't see how you could miss unit testing in any decent CS program. You may be able to avoid seeing version control if you purposely stick to the hardcore math and theory classes without ever taking a software engineering or project-based course.