Як багато величних речей в житті, Git розпочався з творчої кризи та палких суперечок. Ядро Linux - це проект відкритого програмного забезпечення досить великого масштабу. Впродовж доволі тривалого часу підтримки ядра Linux'а (1991–2002) зміни до програмного забезпечення вносилися у вигляді заплаток (патчей) або архівів. В 2002 для проекту ядра Linux'а почала використовуватися проприетарна РСКВ під назвою BitKeeper.
В 2005 стосунки між суспільством, що займалося розробкою ядра Linux'а, та комерційною фірмою, що займалася розробкою BitKeeper, розірвалися, та право безкоштовного використання продукту було відхилено. Це підштовхнуло суспільство розробників Linux (а практично Лінуса Торвальдса, творця Linux'а) до розробки свого власного інструменту, беручи до уваги ті уроки, котрі були отримані під час користування BitKeeper. Де-які вимоги до нової системи були наступними:
- Швидкість
- Проста конструкція
- Пряма підтримка для нелінійної розробки (тисячі паралельних гілок)
- Повністю розподілена
- Раціональна підтримка великих проектів, таких як ядро Linux (швидкість та розмір даних)
Починаючи з власного народження в 2005 році, Git еволюціонував та став дуже простим у використанні, а також витримав ті початкові вимоги. Він неймовірно швидкий, він ефективно працює з великими проектами, а також має неймовірну систему гілкування для нелінійної розробки (див. Глава 3).