It's brilliant for it's original purpose of managing diffs in an open source project.
For industrial projects that are not organized like an open source project it's a massive, massive footgun and it saddens me it remains some sort of badge of honour to memorize it's incomprehensible UI.
It saddens me even more it's the goto vcs system even for industrial projects.
No, the number of comments indicate git is often an inappropriate tool.
I do agree I’ve often wondered about my career choice after being forced to use git.
Any other VCS system I’ve used bar some old unix tools offer much better usability. For example Perforce and TFS were much better. Even Subversion and Mercurial offer better ergonomics.
Git is probably great for the type of distributed projects that spun it (ie Linux kernel).
Most industrial projects are far more centralized and streamlined. Hence git brings in added complexity that is usually not needed.
Luckily it’s not so b - oh damn I git pulled and now my colleague did something and git says ”fatal: Need to specify how to reconcile divergent branches”. Which is the type of clownshow level of VCS which incites these comments.
What would you suggest instead of git, if a hypothetical organization came and asked you which vcs to use other than git? Assume git interoperability is not necessary, to obviate the “we must be compatible with what our dependencies/upstreams use” argument.
My company uses Perforce, and while it's not perfect, it's more intuitive and has a comprehensive graphical user interface. Most importantly, once I learn how to do something with Perforce, I never forget it. That's not the case for me with git.
It's brilliant for it's original purpose of managing diffs in an open source project.
For industrial projects that are not organized like an open source project it's a massive, massive footgun and it saddens me it remains some sort of badge of honour to memorize it's incomprehensible UI.
It saddens me even more it's the goto vcs system even for industrial projects.