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