مثل بسیاری از چیزهای بزرگ در زندگی، Git نیز با کمی نابودی خلاقانه و جنجالهای شدید آغاز شد.
کرنل لینوکس یک پروژه نرمافزاری متنباز با دامنه نسبتاً وسیع است. در سالهای اولیه نگهداری کرنل لینوکس (۱۹۹۱ تا ۲۰۰۲)، تغییرات نرمافزار بهصورت پچها و فایلهای آرشیو شده رد و بدل میشدند. در سال ۲۰۰۲، پروژه کرنل لینوکس شروع به استفاده از یک سیستم کنترل نسخه توزیعشده اختصاصی به نام BitKeeper کرد.
در سال ۲۰۰۵، رابطه بین جامعه توسعهدهنده کرنل لینوکس و شرکت تجاری سازنده BitKeeper به هم خورد و وضعیت رایگان بودن این ابزار لغو شد. این موضوع باعث شد جامعه توسعهدهندگان لینوکس (و بهویژه لینوس توروالدز، خالق لینوکس) ابزار خودشان را بر اساس درسهایی که از استفاده از BitKeeper گرفته بودند، توسعه دهند. برخی از اهداف سیستم جدید به شرح زیر بودند:
-
سرعت بالا
-
طراحی ساده
-
پشتیبانی قوی از توسعه غیرخطی (هزاران شاخه موازی)
-
کاملاً توزیعشده
-
قابلیت مدیریت پروژههای بزرگ مثل کرنل لینوکس بهصورت کارآمد (از نظر سرعت و حجم دادهها)
از زمان تولدش در سال ۲۰۰۵، Git توسعه یافته و بالغ شده است تا استفاده از آن آسان باشد و در عین حال این خصوصیات اولیه را حفظ کند. Git باورنکردنی سریع است، در پروژههای بزرگ بسیار بهینه عمل میکند و سیستم شاخهبندی فوقالعادهای برای توسعه غیرخطی دارد (ببینید ch03-git-branching.asc).