Git Introduction

What is Git? Git is a distributed revision control and software code management system used in team software or web development. Git allows a single developer or a team to develop software or web applications together — fast, efficiently, and reliably. Git was originally developed by Linus Torvalds (creator of Linux) in 2005 for his Linux kernel development.

Why Git

Besides being free and open source, Git is also a very powerful tool and incredibly fast for software code management. Don’t forget that Git handles Linux kernel development which has millions of source code files, and it handles it fast and reliably. But the most powerful feature of Git is that instead of having one centralized repository, Git is primarily designed to be a distributed repository.

Centralized Repository vs Distributed Repository Comparison:

Distributed vs Centralized

Git Features

Here are some Git features:

  • Distributed development. Like most other modern version control systems, Git gives each developer a local copy of the entire development history, and changes are copied from one repository to another. These changes are imported as additional development branches, and can be merged in the same way as a locally developed branch. Repositories can be easily accessed via the efficient Git protocol (optionally wrapped in SSH for authentication and security) or simply using HTTP — you can publish your repository anywhere without any special web server configuration.
  • Strong support for non-linear development. Git supports rapid and convenient branching and merging, and includes powerful tools for visualizing and navigating a non-linear development history.
  • Efficient handling of large projects. Git is very fast and scales well even when working with large projects and long histories. It is commonly an order of magnitude faster than most other version control systems, and several orders of magnitude faster on some operations. It also uses an extremely efficient packed format for long-term revision storage that currently tops any other open source version control system.
  • Cryptographic authentication of history. The Git history is stored in such a way that the name of a particular revision (a “commit” in Git terms) depends upon the complete development history leading up to that commit. Once it is published, it is not possible to change the old versions without it being noticed. Tags can also be cryptographically signed.
  • Toolkit design. Following the Unix tradition, Git is a collection of many small tools written in C, and a number of scripts that provide convenient wrappers. Git provides tools for both easy human usage and easy scripting to perform new clever operations.

(Source: git-scm.com)

Git Explanation Videos by Linus Torvalds

Want more info? Hear it directly from the creator:

Git Resources

For more resources you can read them at git-scm.com.