Book Image

Git Essentials

By : Ferdinando Santacroce
Book Image

Git Essentials

By: Ferdinando Santacroce

Overview of this book

Table of Contents (17 chapters)

Foreword

At the time of writing this (April 2015), Git has just crossed the historical 10th anniversary since its inception. It is crazy for me to think it's already been 10 years.

Owing not in a small part to the innovative concepts that Git and some earlier DVCS solutions brought about, a huge chunk of the modern software development world has been turned upside down due to it. Teams that have adopted it have been greatly empowered on many fronts.

You can branch off and start working on some experimental features without bothering your colleagues. You can also keep your stable branches stable and only merge completed features. Git will also allow you to explore an entire project while on a plane without sending a single network request.

I went back and looked at my first repository and it appears I started using Git professionally in 2008. Thinking about it, I remember the initial struggle I had with some of the core concepts. Git is not particularly easy to pick up even though its user interface has improved consistently over time.

However, after so many years, we enthusiasts and early adopters have been fooled by our own reality tunnel. It's easy to fall into the perception that nowadays the entire world is already using Git and the transition has been completed. I know for a fact though, that I am mistaken!

During the course of my journey through Europe over the last two years, I have seen teams at all stages of Git adoption. I've noticed, for example, that Nordic countries, such as Sweden and Norway, have been working with Git for several years already, while in other countries, companies have only recently decided to make the transition. It's funny that just a few weeks ago somebody told me that they won't be transitioning to Git any time soon. The reason for this? They spent years migrating from CVS to SVN!

In addition to all that I've said, there is still a pressing need to educate teams all around the world about the usefulness of Git. So, I welcome Ferdinando's work with open arms and his efforts in developing a solid guide for people who want to add Git to their toolkit.

What will you gain from a good understanding of Git? It will forever change the way you write software. You'll be able to save your changes as many times as you want in an unpolished, raw form. You'll also be able to always go back and polish up everything before sharing your work with a rebase.

You will be able to work in isolation on a feature or bug fix without disturbing your teammates or lowering the quality of the master stable branch (refer to Chapter 2, Git Fundamentals – Working Locally, for this).

Finally, I can't emphasize enough how Git—and the concepts that are built on it, such as the idea of pull requests—have changed the way professional teams interact, thereby embedding a code review practice into the very texture of the software development process (refer to Chapter 5, Obtaining the Most – Good Commits and Workflows).

It's a great time to be adopting Git and reaping the benefits of this solid and efficient tool whether you are a hobbyist or a professional developer. Good luck!

Nicola Paolucci

Developer Advocate at Atlassian