Git topic
How Git works inside
Learn how Git works under the hood.
Look it up and watch it run
Watch them in the git-sim viewer
Each demo plays step by step, with the before and after side by side.
Every command in one place: the Visual Git command reference.
Learn how it works
Related articles
Read more about it: the articles, guides and cheat sheets on this topic.
-
git describe Command | git describe examples and usage
Learn how to use the Git describe command to accurately label and track the version of your code repository. Get tips on using tags and annotated tags to make the most of this useful tool.
8 min read · Dec 2022
-
Git Submodule | Tracking sub-repos within your Git repo
Learn to easily reuse code from other projects with the versatile git submodules command.
8 min read · Nov 2022
-
git am | Apply an email patch in Git
In this article, we'll discuss how the email patch recipient can apply patches that they receive through email to their local Git repository as a new commit.
5 min read · Nov 2022
-
git bundle | A Guide for Bundling Git Repos
Use git bundle to utilize Git in an offline or secure setting.
6 min read · Nov 2022
-
git send-email | Send a patch by email in Git
6 min read · Nov 2022
-
git format-patch | Create a patch in Git
In this article, we explain how to use the git format-patch command to enable Git email collaboration.
8 min read · Oct 2022
-
git gc | Git garbage collection for orphaned, dangling objects
A complete guide to using the git gc command for garbage collection in your Git repo.
7 min read · Oct 2022
-
git clean | Delete untracked files in Git
In this article, we'll explain how to use the git clean command to remove untracked files from your Git working directory.
7 min read · Oct 2022
-
How are Git's objects linked together?
5 min read · Sep 2022
-
git shortlog | Use git shortlog to summarize Git's log output
In this article, we'll explain how to use the git shortlog command to create a summary of Git's log output.
3 min read · Sep 2022
-
git banned.h: Why Git's maintainers have a list of banned standard C library functions
In this article, we'll take a closer look at how the C function ban is implemented, the specific C functions that have been banned from use, and why these functions were likely banned from the codebase.
6 min read · Sep 2022
-
What is a tree in Git?
In this article, we'll discuss everything you need to know about trees in Git.
6 min read · Sep 2022
-
What is a blob in Git?
In this article, we'll discuss everything you need to know about blobs in Git.
4 min read · Sep 2022
-
git blame | How to Blame in Git
Got a new bug and don't know where it came from? Git blame is there to help you track down who authored specific lines of a committed file, so you can find the culprit.
7 min read · Aug 2022
-
Git Diff – What is it, Uses & Applications
The pragmatic yet comprehensive guide to getting the most out of git diff for beginners and pros alike.
14 min read · Jun 2022
-
git log | A Guide to Using the log Command in Git
A comprehensive guide for using the git log command.
12 min read · May 2022
-
How to Create a New Git Repository | Start a Github Repo
In this article, you will learn how to create a new Git repository, configure it, and commit changes to it.
10 min read · May 2022
-
Source Code Management | Git Tutorial
A description of source code management, and how Git is used as a version control system for source code management.
7 min read · May 2022
-
Git Bisect | How to Use Git Bisect
Learn how to use the Git Bisect command to efficiently locate problematic commits and remove regression bugs.
12 min read · May 2022
-
Git Config | Setup Git Environment
Learn to setup a local Git environment by installing Git and using the Git config command.
11 min read · Apr 2022
-
Saving Changes in Git | How To & Examples
The practical and comprehensive guide to saving changes in Git. Easily learn git status, add, commit, stash, and push commands.
13 min read · Apr 2022
-
Git-RM Uses & Purpose | A No-Nonsense Git RM Tutorial
In this article, we will focus on the git rm command, its various options, and how it can maximize your understanding of Git and collaboration.
8 min read · Apr 2022
-
Git-show | How to Use Git Show With Examples
How to use the git show command to view commits, tags, trees, and blobs in your Git repository.
12 min read · Apr 2022
-
16 Best Git Books of 2022 | How to Learn Git
In this article, we'll discuss the best Git books of 2022 with categories including, "Best Beginner Git Books", "Best Budget Git Books", and "Best Advanced Git Books".
16 min read · Apr 2022
-
How to Remove Local Untracked Files in Git Working Directory
In this article, we'll discuss different types of untracked files, whether you should remove them, and some different methods for dealing with them including .gitignore, manual deletion, and git clean.
8 min read · Apr 2022
-
Git Mv | How To Use Git-Mv To Rename And Move Files
How to use the git mv command when moving or renaming files in a Git repository.
7 min read · Mar 2022
-
A 16 Year History of the Git Init Command
In this article, we'll discuss the Git Init command and how it has changed every year for the past 16 years since Git's inception in April 2005.
23 min read · Oct 2021
-
fatal: not a git repository (or any of the parent directories): .git
In this article, we'll discuss the reasons for the error `fatal: not a git repository (or any of the parent directories): .git` and how to fix it.
14 min read · Jun 2021
-
Git Cheat Sheet: 14 Essential Git Commands for Experts
In this article, we’ll discuss 14 essential Git commands for advanced users.
8 min read · Feb 2021
-
How to paste in Git Bash
In this article, we will discuss how to paste in Git Bash.
2 min read · Jan 2021
-
What is Git HEAD? | The Concept of HEAD in Git - Explained
In this article, we will answer the question What is Git HEAD? Learning about Git HEAD will add to your knowledge and understanding of Git's version control capabilities.
8 min read · Jan 2021
-
Pijul - The Mathematically Sound Version Control System Written in Rust
In this article, we'll discuss Pijul - an alpha stage version control system that is gaining traction in the community.
9 min read · Nov 2020
-
Q&A with the Creator of the Pijul Version Control System
This article is a Q&A format with Pierre-Étienne Meunier, the creator of the Pijul VCS.
11 min read · Nov 2020
-
Merkle trees in Git and Bitcoin
We will discuss how Merkle trees are utilized by both Git and Bitcoin.
5 min read · Aug 2020
-
The Distributed Nature of Git and Bitcoin
This article is Part 1 of our series on the similarities between Git and Bitcoin. We will discuss distributed systems and how Git and Bitcoin leverage them in their architecture.
6 min read · Aug 2020
-
How did Git get its name?
In this article, we will discuss why Linus Torvalds, the creator of Git, chose this name for his Version Control System (VCS). In other words, why is Git called Git? What does Git stand for? What does Git mean?
2 min read · May 2020
-
The Evolution of Version Control System (VCS) Internals - Part 2
Compare and contrast the inner workings of some of the most historically significant Version Control Systems, including Perforce Helix Core, BitKeeper, Darcs, Monotone, Bazaar, and Fossil.
30 min read · Mar 2020
-
Version Control Systems | A Technical Guide to VCS Internals
Learn what a version control system is and provide technical details of some of the most popular version control systems like SCCS, RCS, CVS, Subversion, Git, and Mercurial.
27 min read · Nov 2019
-
Baby Git Staging Index
Files are added to the staging area before a commit in Git. This is possible due to Git's staging index. We explain how this works using the initial commit of Git's code.
3 min read · Jul 2019
-
Git's Original Object Database
Any time a file is tracked with Git, it is compressed, hashed, and stored in the object database. We explain how this works using the initial commit of Git's code.
3 min read · Jul 2019
-
An Overview of C Header Files & Git's Original C Header File
This article discusses how to use and include C header files in the C programming language. It also discusses the original C header file in Git's initial commit.
9 min read · Jul 2019
-
What is a Makefile? | Turning Git's Source Code into a Program
Makefiles are used to build and compile programs. We explain how Git's original Makefile works line by line to help clarify how programs like Git are developed.
9 min read · Jul 2019
-
The Definitive Guide to Git's Code
Most guides talk about how to use Git. We want you to understand how Git's code actually works. We explain this in an accessible way in this definitive guide to Git's code.
6 min read · Mar 2019
-
Decoding Git Guidebook: Chapter 2
This overview chapter of the Decoding Git Guidebook for Developers will discuss the key components of the Git application from a code perspective
12 min read · Jan 2019
-
Decoding Git - Guidebook For Developers: Introduction To Git's Code
This introductory chapter of the Decoding Git Guidebook for Developers will set a foundation for understanding how Git's code works
7 min read · Jan 2019
-
Git started with the best version control system
Why learning Git is a great start to a Software development career. It is a version control system used for collaboration in Software development. A great tool!
7 min read · Feb 2017
-
Git Cheat Sheet: 12 Essential Git Commands for Intermediate Users
In this article, we’ll discuss 12 essential Git commands for intermediate users.
7 min read · Jan 2021
-
Git cheat sheet: 12 essential Git commands for beginners
In this article, I will explain 12 essential Git commands that are especially important for a beginner.
6 min read · Jul 2020
Every Git article, by topic: Git Articles.
Try it in your own repos
git-sim
See what a command will do to your repo before you run it. It reads the repository and draws the result without changing anything.
git-sim loggit-sim init
It can also pre-flight a risky command as you type it, and follow your repo live while you or an AI agent work in it.
git-dummy
Make a throwaway repo shaped for this topic, then practice on it without risking real work.
git-dummy --scenario history --name practice
Then cd practice and run any of the git-sim commands here.
Want to see your repo a whole new way? Devlands turns it into a 3D world you can walk through.