Revision control is a practice that tracks and provides control over changes to source code. It is a critical tool in the developer's tool chain. Git is a distributed revision control system initially designed and developed by Linux Torvalds for Linux kernel development. It is used on many kernel-related projects besides the Linux kernel such as OpenVZ, KVM, ALSA, and udev. Git is also frequently used for source code management for non-kernel projects.