Reader small image

You're reading from  Git Essentials - Second Edition

Product typeBook
Published inNov 2017
Reading LevelBeginner
PublisherPackt
ISBN-139781787120723
Edition2nd Edition
Languages
Tools
Right arrow
Author (1)
Ferdinando Santacroce
Ferdinando Santacroce
author image
Ferdinando Santacroce

Ferdinando Santacroce is a developer, author, and trainer who loves learning new things. As a software developer, Ferdinando has mainly worked on the .NET platform using C#, bridging the gap between old-style systems and new technologies. Over the span of his career, he has allowed some COBOL applications to talk to remote services, databases, and electronic devices such as cash handlers, scanners, and electronic shelf labels. At the moment, he is committed to helping the largest energy player in Italy to face new challenges in the market by developing Java and JavaScript-based applications. Other than this, he's focusing on continuous improvement and agile movement, which he follows with great care, in conjunction with XP foundations and lean manufacturing. He's one of the organizers of Italian Agile Days, the most famous and appreciated conference in the Italian Agile panorama. Ferdinando loves to share ideas with other professionals and to speak at public conferences; every time he has, he has learned something new. He enjoys writing as well. After a hiatus of a few years, he has started blogging again about his work and passions, which, according to him, are more or less the same thing. Most of what he has learned over the years has been with the help of his friends and colleagues. Other than working within the same team or on the same code base, they have encouraged him to read books and attend inspiring conferences, such as XP Days, Italian Agile Days, and others that have helped his growth.
Read more about Ferdinando Santacroce

Right arrow

Git Resources

This chapter is a collection of resources I built during my experience with Git. I will share some thoughts about GUI tools, web interfaces to Git repositories, and learning resources, hoping they will act as a springboard for a successful Git career.

Git GUI clients

When beginning to learn a new tool, especially such a wide and complex one as Git, it can be useful to take advantage of some GUI tools, to be able to picture commands and patterns in a simpler way to understand.

Git benefits from a wide range of GUI tools, so it's only a matter of choice; I want to tell you right away that there is not one perfect tool, as frequently happens, but there are enough of them to pick the one that best fits your needs.

Windows

As a Microsoft .NET developer, I use Windows 99% of the time; in my spare time, I play a little bit with Linux, but in that case, I prefer to use the command line. In this section, you will find tools I use or have used in the past, while in the other...

Building up a personal Git server with web interface

At a company I worked for, I was the first person to use Git for production code; at some point, after months of little trials in my spare time, I took courage and converted all the Subversion repositories where I usually worked alone into Git ones.

Unfortunately, firm IT policies stopped me from using external source code repositories, so no GitHub or BitBucket; to make things even worse, I also could not obtain a Linux server, and take advantage of great web interfaces like Gitosis, Gitlab, and so on. So, I started Googling for a solution, and I finally found one that can be useful even for people in the same situation.

SCM Manager

Learning Git in a visual manner

The last thing I'd like to share with readers is a web app I found useful at the very beginning for better understanding the way Git works.

Learn Git Branching (https://learngitbranching.js.org/) is a tremendously helpful web app that offers you some exercises to help you grow your Git culture. Starting from a basic commit exercise, you learn how to branch, rebase, and so on, but the really cool thing is that on the right of the page, you will see a funny repository graph evolving in real time, following the commands you type in the emulated shell:

Another good resource of this kind is Visualizing Git Concepts with D3, where you can grasp all the most important commands visually. Find it at https://onlywei.github.io/explain-git-with-d3/:

Git on the internet

Finally, I suggest following some resources I usually follow in order to learn new things and get in touch with other smart and funny Git users over the internet.

Git for human beings Google Group

Git community on Google+

This community is full of people who are happy to share their knowledge with you; most of the coolest things I know about Git have been...

Summary

In this chapter, we looked at some Git GUI clients. Even if I encourage people to understand Git by using shell commands, I have to admit that for most common tasks using a GUI-based tool or the IDE integration facilities makes me feel more comfortable, especially when diffing or reviewing history.

Then we discovered we could obtain a personal Git server with a fancy web interface: the internet has plenty of good pieces of software to achieve this target.

At the end, as my last suggestion, I mentioned some good resources to enhance your Git comprehension; listening to experts and asking them questions is the most effective way to get your work done.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Git Essentials - Second Edition
Published in: Nov 2017Publisher: PacktISBN-13: 9781787120723
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Ferdinando Santacroce

Ferdinando Santacroce is a developer, author, and trainer who loves learning new things. As a software developer, Ferdinando has mainly worked on the .NET platform using C#, bridging the gap between old-style systems and new technologies. Over the span of his career, he has allowed some COBOL applications to talk to remote services, databases, and electronic devices such as cash handlers, scanners, and electronic shelf labels. At the moment, he is committed to helping the largest energy player in Italy to face new challenges in the market by developing Java and JavaScript-based applications. Other than this, he's focusing on continuous improvement and agile movement, which he follows with great care, in conjunction with XP foundations and lean manufacturing. He's one of the organizers of Italian Agile Days, the most famous and appreciated conference in the Italian Agile panorama. Ferdinando loves to share ideas with other professionals and to speak at public conferences; every time he has, he has learned something new. He enjoys writing as well. After a hiatus of a few years, he has started blogging again about his work and passions, which, according to him, are more or less the same thing. Most of what he has learned over the years has been with the help of his friends and colleagues. Other than working within the same team or on the same code base, they have encouraged him to read books and attend inspiring conferences, such as XP Days, Italian Agile Days, and others that have helped his growth.
Read more about Ferdinando Santacroce