Git Merge is a Git-focused conference “dedicated to amplifying new voices from the Git community and to showcasing thought-provoking projects from contributors, maintainers, and community managers”, as Github explains. Each year, a different city hosts the conference, and in 2017, 250 participants met in Brussel.
Meet the Git community
Listening conference after conference, you feel as part of one of the largest communities of developers in the world. Think about it. Developers around me use Git every day, at so many different levels. Some of us are experts, some only use a few commands, others are contributors or maintainers. But all in all, we’re all users, and this conference showed me the importance and size of the Git community. And that’s important, because let’s be honest, our developer experience, and our lives, would really suck without it.
Github + Gitlab + Bitbucket
The event was well organized (thanks Github!), the location, place, atmosphere, goodies, beers and after party made up for a great time. But what made this event golden for me was the proximity and accessibility of all speakers and major players in the Git community.
The moment I remember as a great example of complicity is when Sid Sijbrandij (co-founder of Gitlab) joined Tim Pettersen (Bitbucket Developer) on stage, after the mediator cracked that Gitlab database incident joke. I just felt “oh, i’m sure they meet every month to drink beer and talk about Git”. Even though they represent competitor companies, they are part of the same community and need to work together, be aware of the problematics of the tool we use every day.
After everything I learned, the only thing I wanted to do was commit and pimp my developer environment.
As many speakers talk about the complexity of Git, here are my key takeaways.
Learn Git, but learn Google too
So, everybody knows that Git is complex :
Everyone can remember how to use commands to commit their work, but what’s difficult is understanding the concept, the logical core of the tool. Yes, Git is easy to learn, but it’s more than a software. It’s a primitive, a concept and the second step of understanding is really more complex. Screwing up is easy, and figuring out how to fix your mistakes is crazy impossible.
But since it’s a concept, a way of thinking, you can use it outside the IT field, as Caren Garcia mentioned in her talk GIT: The tool loved and (sometimes) feared. Writers, governments, simultaneous translation, schools can successfully implement it.
To improve the developer experience, layers are developed above Git. Three speakers talked about erasing the complexity:
What’s wrong with Git? by Santiago Perez de Rosso showed the complexity of understanding concepts like stash, detached heads, and untracked files. In his experiment of improving Git usage, he presented Gitless, a version control system built on top of Git.
Git aliases of the gods! by Tim Pettersen, a really sharp and funny talk about Git aliases. He used a great example with git stash command, and created a funny one called standup :
Learn more about Git aliases
Scaling mercurial at Facebook: insights from the other side by Durham Goode presented the Facebook development environment composed of monorepos, no feature branches, rebases and no merges, single commits per push… They assume that all developers work online, that “everyone commits on master”, and that “every commit is pushed”. They therefore implemented some top level features: pushRebase, allowing the server to process a rebase of your work, and smartLog, to see only useful commits.
Discover crazy repositories
Lots of issues come from performance on crazy repos, and big companies like Microsoft and Github have to deal with this kind of problematics.
Top ten worst repositories to host on Github, by Carlos Martin Nieto, explained the challenges of hosting crazy repositories at Github. What makes your repo the worst? A huge amount of files, forks, tags, contributors, or a push infinite. Here are some of the worst Carlos showcased:
– kubernetes/kubernetes – Extensive use of PR
– commitwars/commitwars – Hackathon “raffle”
– gambuzzi/gambuzzi.github.io – 300-400MB pushed every minutes
– CocoaPods/Specs – 160K commits
– barryclark/jekyll-now – Each fork is someone’s website
– torvalds/linux – 42GB on disks
Scaling Git at Microsoft by Saeed Noursalehi presented the GVFS (Git Virtual File System), an open-source project just released by Microsoft to solve their tough experience on the Windows repo! Before the GVFS, it took 12 hours to clone the repo…
Brussel’s Open source
Git Merge was followed by FOSDEM, two days of free conferences for software developers to meet, share ideas and collaborate. Perfect timing! All in all, this weekend reinforced and revived my motivation of being a part of this large community taking care of the future.
The last thing I want to share is the introduction talk by Karen Sandler from Software Freedom Conservancy. She has a pacemaker and was worried about what software it runs on. She asked to see the source code, but the company wouldn’t let her, as the software is proprietary. So people, remember :
We’re only as free as the software we use.
Think about it, and let’s meet next year at Git Merge 🙂
Jasmine Anteunis – SAP Conversational AI