Git

Your guide to Git version control


During the last few years, Git has become the de-facto version control system in software development. The user base of this open-source distributed version control system has exploded after 2010 and it is used by millions of companies and development teams. Thus, learning Git is a good investment for any modern developer.

This page combines all the needed resources for you to become a real Git master. Follow the links below to start building your know-how.

Git hosting in the CLOUD - 0 / up to 1GB

What is Git?

In short, Git is a distributed version control system (DVCS). The main idea of version control systems is to track and record all the changes to the versioned file, thus allowing you and your team members to revert to earlier versions of your codebase when needed.

When using a distributed version control system, each developer of the team has a local copy of the entire version history of the code repository. Mercurial would be a good example of another open-source distributed version control system.

The following links will help you to understand more of Git theory and background.

Documentation

There are a lot of excellent sources for Git documentation and further reading. The following links will definitely cover everything you might want to know about Git.

  • The official documentation - This site includes Git’s reference manual and more.
  • Pro Git Book - Perhaps the most comprehensive book regarding Git. Written by Scott Chacon and Ben Straub. Online version is available for free.
  • The official Git wiki - A wiki maintained by the Git community.
  • Git Pocket Guide - A free book for beginners and also a bit more experienced Git users.

Commands

It might not be beneficial to start learning all the Git commands by heart. You’ll learn the most basic commands by constantly using Git. However, there are so many commands that it is extremely hard to memorize every single command.

Therefore, good cheat sheets will increase your productivity. If you’ve been using another version control system like Mercurial or Subversion, you might benefit from a list that shows the command equivalents between these version control systems.

Tutorials

Getting started with Git might take a while. To boost your learning curve, you should invest some time in completing a good tutorial or two. A good tutorial will walk you through the first steps of Git and give you confidence in working with it also by yourself.

Code Reviews

One of the great features of distributed version control systems is the ease of code reviews. Code reviews are an unbeatable way to ensure the quality of your code. When you implement a proper code review process in your development organisation and enforce it with proper tools, you don’t waste as much time in squishing bugs.

To better understand the code reviews and how to set up a proper code review workflow, check out the links below.

  • Git code reviews - A great introduction to Git code reviews and how to enforce them in your organisation.
  • Protected branches - Here’s a great tutorial on why protected branches are so useful for code security and how to start utilising them.
  • Forking and pull requests - This blog post walks you through on how to fork and do pull requests in Deveo.

Hosting

Where should you host your Git repositories? Cloud or on-premises? If you collaborate with a remote team, a reliable cloud service might be the best solution. And usually a cheaper one. For a large enterprise, a self-hosted Git server might be needed. Despite the choice, an intuitive user interface will make your team more productive.

Comparison to other version control systems

Have you experience on other version control systems like Mercurial orSubversion? Are you planning on migrating to Git? In that case, it is good to read some comparisons to understand the differences better.

Clients

Git’s syntax might be hard to grasp at first. A good client will lower the entry barrier and help you be more effective. Reading comparisons of the most popular Git clients will definitely help you to find the most suitable client for you..

The best free Git clients for Mac OS - A comparison of the four most popular Git clients for Mac OS.

A links to superb Git clients' pages:

Forums and orther support

Git is an extremely flexible version control system. This gives developers a lot of freedom to do things but it often also means that you need to invest time in learning new commands and methods for working.

Luckily, Git has an active online community that helps Git users in need. These forums are good sources, whenever you encounter a problem with Git.

Are you using Git?

Deveo offers you private hosting for your repositories. Whether you want to work on the cloud or install the repositories on your own servers, we got you covered. And you can get started completely free!

Read more on hosting Git repositories in the cloud or behind your firewall and sign up to Deveo.