git is a version control system used by Linux kernel and some other projects. git clones the whole repository, so that the developers can have access to the complete history of the project even when disconnected from the master repository. git uses changesets to represent the history. git provides a variety of commands to facilitate highly parallel development. git is optimized for speed, so it's preferred by large projects.