گيت چيست ؟‌

گيت چيست ؟‌

گيت يك ورژن كنترلر است كه در سال 2005 توسط توروالدز ساخته شده است . شما ميتوانيد فرآيند توسعه ي يك پروژه را با گيت كنترل و مديريت كنيد .

با گيت ميتونيد هر تغييري در نسخه هاي مختلف را بررسي كنيد و در صورت تاييد آنها را روي پروژه ي نهايي اعمال كنيد .

فرض كنيد شما روي يك سايت كار ميكنيد كه با زبان پايتون است و در شركت شما شخص ديگري قصد دارد يك ابزاري را بصورت مستقل براي سايت شما كدنويسي كند و در نهايت به شما تحويل دهد و شما آنرا به درون پروژه ي اصلي متصل كنيد ولي چطور !!؟ اين اتفاق به سادگي گفتن نيست .

اين سناريو را در نظر بگيريد .

يك پروژه ي واحد به نام A در روز 1 شروع ميشود روز 2 يك فردي ميخواهد ابزاري به نام B را به پروژه ي A كدنويسي كند .

برنامه نويسي B سه روز طول ميكشد ولي در طول سه روز پروژه ي A هم قرار نيست متوقف بشه !

اينطوري دو شاخه ي مستقل در حال توسعه است ممكن است برنامه نويس B چيزي را كه دو روز پيش ديده باشد متفاوت باشد چون برنامه نويس روي پروژه ي A كار كرده است .

ميبينيد كه در مثال ما فقط دو نفر و دو توسعه ي موازي در نظر گرفته شده است حالا فرض كنيد يك پروژه توسط صد نفر نوشته ميشه و دويست بخش مستقل داره !!!‌

اينجاست كه ديگه برنامه ها از تفكر وتمركز انسان خارج ميشود و بايد ابزاري باشد تا بتواند اين فرايند را بخوبي مديريت و كنترل كند .

اين ابزار گيت است و در اصل هم براي مديريت ورژن هاي لينوكس توسعه داده شده است كه بعدا مورد استقبال همه ي برنامه نويسان جهان قرار گرفته است .

من براي يادگيري مفاهيم و اصل گيت از اين دوره ي آموزش گيت استفاده كردم عالي بود و پيشنهاد ميكنم اگر به دنبال آموزش گيت هستيد حتما تهيه اش كنيد .

ريپوزيتوري ( repository ) در git چيست ؟‌

 

ريپوزيتوري در گيت چيست

هر پروژه كه بخواهد با گيت مديريت شود بايد به يك ريپوزيتوري منتقل شود . ريپوزيتوري يك مخزن است مخزن نهايي هر آنچه كه ميخواهيد از تغييرات و روند يك پروژه روي پروژه نهايي اعمال كنيد .

18_wkal.jpg

ريپوزيتوري دو نوع است :‌

1 - ريپوزيتوري لوكال كه روي كامپيوتر يا روي يك فلش يا سي دي يا هر چيزي كه ديگر دسترسي از طريق شبكه نيست

2 - ريپوزيتوري ريموت كه معمولا روي يك سرور يا هاست قرار ميگيرد و بقيه بهش دسترسي دارند مثل گيتهاب و گيت لب و ... كه اين سرويس را به شما ميدهد و ريپوزيتوري هاي شما را ميزباني ميكند .

گيت هاب و گيت لب چيست ؟؟؟

گيتهاب يك سرويس دهنده هست كه به شما اجازه ميدهد بصورت رايگان ريپوزيتوري هاي گيت خود را بصورت آنلاين ارائه دهيد .

گيتهاب يك سري مفاهيم و ابزارها دارد كه بايد كار با آنها را ياد بگيريد تا بتوانيد از امكانات آن جهت مديريت ريپوزيتوري هاي خود استفاده كنيد .

البته الان گيتهاب تقريبا تبديل به يك جامعه ي مجازي برنامه نويسان شده است تا يك هاستينگ خالي ريپوزيتوري هاي گيت ...

گيت لب هم همين كارها را ميكند و تفاوتش اين است كه خود گيت لب قابل دانلود و پياده سازي روي سرورهاي شخصي است .