During the introduction Sven Peters focussed on the social challenges of software development, especially on how to prevent lower (individual) productivity when teams grow larger. To prevent this, he refers to the importance of happy developers, by giving them the best tools for the job. Git is obviously a very important tool in the developer’s toolbox. I (honestly) pity the poor developers who still have to use SVN …
The first part of the session demonstrated the basics of Git, without fearing the more complex parts:
- History of Git (the Linux kernel)
- Git internals and the Git data model
- Speed (also explaining why it's so fast)
- Merge and Merge strategies
I was particularly charmed by the Git data model.
The topic of the second part of the session was “Efficient Workflows”. Different workflows exist, because different teams, cultures and products exist. However some common practices such as feature branching are common. This really is a good thing, because leaving unfinished work on your master branch is sloppy and might prevent releases.
There was a strong focus on how Git enables better collaboration between developers. For example: improving code quality by conducting code reviews and making these code reviews faster (and less awkward) by using pull requests and merging the solution together.
Key takeway from the evening: branch, pull, merge.
The presentation of the session is available on Slideshare for those interested. I think it’s worth going through the slides.