بهعنوان یک تولیدکننده محتوا، توانایی توضیح درباره شغلم رو ندارم
تاریخچه گیت؛ یک ورژن کنترل ناخوشایند!
خب همونطور که میدونید یا نمیدونید :) من در حال یادگیری برنامه نویسی اندروید هستم و تو یه شرکت مشغول کارآموزی. امروز بالادستی، رئیس یا بهتره بگم معلم برنامه نویسیم که همکارمم هست بهم گفت که درباره تاریخچه گیت و کارایی گیت لب بخونم. مثه اینکه قرار هست در آینده با گیت کارای زیادی داشته باشیم (به خصوص من). منم مثل همیشه شروع کردم به سرچ زدن و تو وبسایت های ایرانی و خارجی شروع کردم به خوندن و البته تو ایرانی ها چیز زیادی جالبی درباره تاریخچه گیت (نه آموزشش) پیدا نکردم. واسه همین گفتم یه مقاله تو ویرگول بنویسم تا شاید بعضی ها مایل به دونستن درباره دنیای گیت و تاریخچه اش باشن.
گیت چیست؟
گیت در واقع یک ورژن کنترل توزیع شده است که رد تغییرات سروس کد هارو در حین توسعه نرم افزار میگیره. این ورژن کنترل در اصل برای هماهنگی بین کد نویس ها طراحی شده اما میتونه برای گرفتن رد تغییرات هر سورس کد هم مورد استفاده قرار بگیره. هدف اصلی گیت افزایش سرعت و یکپارچگی داده ها در هر پروژه است. ممکنه در حین پروژه کد توسط یکی از هم تیمی هاتون دچار مشکل شد، چطوری میتونید کد رو به حالت اولیه برگردونید؟؛ اینجاست که گیت وارد ماجرا میشه. گیت در سال ۲۰۰۵ توسط لینوس توروالدز برای یکپارچگی در پروژه لینکوس کرنل نوشته شد و و از سال ۲۰۰۵ تاکنون وظیفه نگهداری و تغییرات در آن برعهده جونیو هامانو بوده است.
مثه همه سیستم های کلاینت سرور و ورژن کنترل ها گیت هم یک ساختار داده وسیع با تمام امکانات ردیابی رو در خودش داره که میتونه در حالت های آفلاین و آنلاین کار کنه. گیت در حال حاضر یک سورس کد باز و رایگانه که تحت کنترل لاینسنس ورژن ۲ GNU در حال فعالیته.
تاریخچه گیت
گیت اولین بار در سال ۲۰۰۵ بعد از اینکه کارکنان لینوکس حین کار روی پروژه لینوکس کرنل از سیستم کنترل منابع BitKeeper ناامید شده بودند، ساخته شد. سیستم BitKeeper برای نگهداری و مدیریت کدهای پروژه استفاده می شد. صاحب این سیستم، لری مک ووی بعد از اینکه ادعا کرد اندرو تریدگل با استفاده از مهندسی معکوس پروتوکول های سیستمش را دستکاری کرده، BitKeeper را فروشی کرد. لینوس توروالدز دنبال سیستمی بود تا بتونه با استفاده از اون مثه بیت کیپر مدیریت پروژش رو به دست بگیره به همین خاطر روی سورس کد های سمپل شروع به کار کردن کرد. بعد از این که ورژن 2.6.12-rc2 لینوکس کرنل وارد بازار شد توروالدز کار روی گیت رو در ۳ آوریل ۲۰۰۵ آغاز کرد. در ۱۶ ژوئن سال بعدش گیت تونست مدیریت ریلیز 2.6.12 کرنل رو برعهده بگیره.
نام گذاری
واژه git در زبان انگلیسی به معنای شخص ناخوش آیند و نچسب هستش. توروالدز در اینباره میگه:
من یه عوضی خود پسندم و اسم تمام پروژه هام باید درباره من باشه. اول لینوکس و بعدشم گیت
واژه گیت زمانی به ذهن توروالدز اومد که اولین نسخه اش رو داشت می نوشت و به اون میگفت "ردیاب متحوا و سورس کد خنگ"
خب اونطور که من درمورد گیت خوندم و تونستم در مورد اطلاعات جمع آوری کنم و با محیطش آشنا بشم، گیت یکی از ضروری ترین و اساسی ترین ابزارها برای یک برنامه نویس و توسعه دهنده است چون باعث میشه در بین حجم عظیمی از کد هاتون، تو زمان صرفه جویی کنید و کد هاتون رو به سادگی مدیریت و بهینه کنید. در صورتی که استقبال خوبی از این پست صورت بگیره یه آموزش هم درباره ساخت پروژه و محیط گیت لب (gitlab) آماده میکنم و در ویرگول قرار میدم. امیدوارم که از مقاله لذت برده باشید :)
مطلبی دیگر از این انتشارات
معرفی رشته بیوانفورماتیک: تجربیات یک دانشجو
مطلبی دیگر از این انتشارات
مقدمهای بر Min.io: یک Object Storage قدرتمند
مطلبی دیگر از این انتشارات
اصلاح کد ( 2 ) - کد های تکراری