A curated collection of best learning resources on IT topics

All topics -> Tools and other software -> Git

Git is an open source version control system (VSC). It was created in 2005 by Linus Torvalds for development of the Linux kernel. Today Git is a dominant VCS. According to the Stack Overflow 2022 developer survey, 93.87% of developers use Git. No other technology is used as widely.

Links: git-scm.com, Git (Wikipedia).

Related topics: Linux.

Here's 4 amazing resources to learn Git:

  1. Git documentation (git-scm.com)
    free • resource • 2023

    Git documentation comes in the form of man pages, so you can browse it online or just type man <page_name> like man git. The main types of pages are 1) command and format references such as git-init[1] and gitignore[5] and 2) tutorials such as gittutorial[7] and giteveryday[7]. The git[1] page references all other pages. You'll probably start with gittutorial[7] . Going through the Git man pages is a rough, fast-paced way to learn Git. For a more detailed introduction, there is also Git User’s Manual.

  2. Pro Git book, 2nd edition (git-scm.com)
    free • resource • by Scott Chacon, Ben Straub • 2023

    This book is available on Git's website, so it can be considered a part of the documentation. It's a gentle introduction to Git as well as a detailed description of Git's advanced features. The docs describe what Git commands do. The book also shows you how they are used in the process of software development.

  3. Git Cheatsheet (ndpsoftware.com)
    free • resource • by NDP Software • 2023

    This website presents Git's most used commands and visualizes their place in Git with relation to stash, working tree, index, local and remote repositories.

  4. Git from the inside out (codewords.recurse.com)
    free • article • by Mary Rose Cook • 2015

    This article explores what happens under the hood when you type Git commands. You'll see that Git stores all files, directories, and commits of a project as objects on the filesystem, and that the states of the repository are represented as the trees of those objects.