Why don't people use git properly?

22 points by srxl


m_eiman

Realistically, the only way we improve the general quality of git usage in the developer population is by significantly improving the quality of education in the software world.

I'd like to propose an alternative solution, that's more realistic than improving the quality of education in the whole world: make git easier to use.

koala

In 2012, I joined a company that was using Git, while I was previously on Subversion. In 2013, a guy joined who had worked with OpenStack and Gerrit- we quickly adopted what I felt was a highly productive culture, including making an effort of having a clean change history, with single-purpose commits.

I felt the change history was great- in that gig we had to refer to the history quite often, and I think it was pretty worthwhile. Also, in my opinion, thinking in atomic changes, made us better engineers- it makes you think more about what you're doing.

I quit that company in 2019 and... I still work in that way, but personally, it's never been a priority for me to nudge my colleagues into improving. I've worked with others who knew how to make changes "well", but... I've corrected some flagarant problems, but really, it just hasn't felt like a priority. I rarely need a good change history nowadays, and the organizations I work for have problems several orders of magnitude more concerning.

PRs and squash merge are horrible, but they are low effort and reasonably effective. And also, sometimes it's just about working in smaller chunks and not obsessing if occasionally you spit out big chunks that could be smaller.

We still reminisce about how productive and nice Gerrit felt, but I think there are bigger fish to fry first...

oger

About this part:

A startling number of actually existing software professionals, by contrast, are completely at sea when it comes to command lines. [...] the bulk of software development work still happens on Windows machines, and while it's less common than it was, it's still not unusual for developers to not really have access to a command line at all: [...]

That's my experience as well, after starting a job at a Windows-only company as a Linux user: the whole shell experience under Windows feels painful (the terminal emulator itself is limited and cranky, Windows CMD shell is way too limited and complicated, Powershell feels too overengineered for daily use). I have settled on MSYS2 and KDE Konsole for now, but a) that's quite a bespoke setup, b) this software has bugs as well (which are probably not discovered/fixed because it's a niche user base), and c) integration between MSYS2 and the rest of Windows is difficult.

Do you have recommendations how to get a "good" shell experience under Windows (without spending days fine-tuning it)?


Btw. on my colleagues screens I basically never see a shell window. To me this seems like one of the main limitations of Windows as a dev platform: a whole world of automation is absolutely invisible to Windows devs. They don't even know what they miss out on.