گیت یک ورژن کنترلر است که در سال 2005 توسط توروالدز ساخته شده است . شما میتوانید فرآیند توسعه ی یک پروژه را با گیت کنترل و مدیریت کنید .
با گیت میتونید هر تغییری در نسخه های مختلف را بررسی کنید و در صورت تایید آنها را روی پروژه ی نهایی اعمال کنید .
فرض کنید شما روی یک سایت کار میکنید که با زبان پایتون است و در شرکت شما شخص دیگری قصد دارد یک ابزاری را بصورت مستقل برای سایت شما کدنویسی کند و در نهایت به شما تحویل دهد و شما آنرا به درون پروژه ی اصلی متصل کنید ولی چطور !!؟ این اتفاق به سادگی گفتن نیست .
این سناریو را در نظر بگیرید .
یک پروژه ی واحد به نام A در روز 1 شروع میشود روز 2 یک فردی میخواهد ابزاری به نام B را به پروژه ی A کدنویسی کند .
برنامه نویسی B سه روز طول میکشد ولی در طول سه روز پروژه ی A هم قرار نیست متوقف بشه !
اینطوری دو شاخه ی مستقل در حال توسعه است ممکن است برنامه نویس B چیزی را که دو روز پیش دیده باشد متفاوت باشد چون برنامه نویس روی پروژه ی A کار کرده است .
میبینید که در مثال ما فقط دو نفر و دو توسعه ی موازی در نظر گرفته شده است حالا فرض کنید یک پروژه توسط صد نفر نوشته میشه و دویست بخش مستقل داره !!!
اینجاست که دیگه برنامه ها از تفکر وتمرکز انسان خارج میشود و باید ابزاری باشد تا بتواند این فرایند را بخوبی مدیریت و کنترل کند .
این ابزار گیت است و در اصل هم برای مدیریت ورژن های لینوکس توسعه داده شده است که بعدا مورد استقبال همه ی برنامه نویسان جهان قرار گرفته است .
من برای یادگیری مفاهیم و اصل گیت از این کارگاه آموزش گیت استفاده کردم عالی بود و پیشنهاد میکنم اگر به دنبال آموزش گیت هستید حتما تهیه اش کنید .
هر پروژه که بخواهد با گیت مدیریت شود باید به یک ریپوزیتوری منتقل شود . ریپوزیتوری یک مخزن است مخزن نهایی هر آنچه که میخواهید از تغییرات و روند یک پروژه روی پروژه نهایی اعمال کنید .
ریپوزیتوری دو نوع است :
1 - ریپوزیتوری لوکال که روی کامپیوتر یا روی یک فلش یا سی دی یا هر چیزی که دیگر دسترسی از طریق شبکه نیست
2 - ریپوزیتوری ریموت که معمولا روی یک سرور یا هاست قرار میگیرد و بقیه بهش دسترسی دارند مثل گیتهاب و گیت لب و ... که این سرویس را به شما میدهد و ریپوزیتوری های شما را میزبانی میکند .
گیتهاب یک سرویس دهنده هست که به شما اجازه میدهد بصورت رایگان ریپوزیتوری های گیت خود را بصورت آنلاین ارائه دهید .
گیتهاب یک سری مفاهیم و ابزارها دارد که باید کار با آنها را یاد بگیرید تا بتوانید از امکانات آن جهت مدیریت ریپوزیتوری های خود استفاده کنید .
البته الان گیتهاب تقریبا تبدیل به یک جامعه ی مجازی برنامه نویسان شده است تا یک هاستینگ خالی ریپوزیتوری های گیت ...
گیت لب هم همین کارها را میکند و تفاوتش این است که خود گیت لب قابل دانلود و پیاده سازی روی سرورهای شخصی است .