Git چیست؟

Git چیست؟

 git

 

گیت یک کنترل سورس کد (Source Code Manger) است. دقیقتر، یک سیستم کنترل نسخه توزیع شده است. اما این دقیقا به چه معناست؟

گیت یک زبان یا مفهوم نیست. گیت فقط یک برنامه است، یک تکه برنامه که باید در توسعه خود از آن استفاده کنید، درست مثل ویرایشگر یا FTP client خود. بنابراین برای چه ساخته شده است؟ گیت سورس کدهای شما را کنترل می کند. اما این به چه معناست؟ 

ایده پشت Git (و دیگر برنامه های کنترل سورس کد، که درباره آن هم به زودی صحبت خواهد شد)  یک ایده هوشمندانه برای نگهداری کدهای پروژه است. این به این معنی است که در طی فواصلی که کدنویسی می کنید، نقطه ای در تاریخچه پروژه شما ثبت می شود (به عنوان مثال وقتی با مرورگر خود وارد سایتی می شوید، مرورگر آدرس و تاریخ را در حافظه خود نگاه می دارد). به عنوان مثال یک جدول زمانی یا Timeline در نظر بگیرید، که در آنجا تمام تغییرات برجسته یا رویدادهایی که باعث تغییر در مراحل توسعه شده است را نمایش می دهد. این بستگی به شما دارد کی این Markها یــا نقطه ها را ایجاد کنید. ولی عاقلانه نیست که هرگاه چیزی را به اتمام رساندید به عنوان یک نقطه تعیین کنیم. به عنوان مثال شاید بخواهید یک نقطه ای را بعد از اجرای یک ویژگی جدید اضافه کنید. جدول زمانی شما شاید به صورت زیر به نظر برسد:

 

  • نقطه اول – آغاز یک پروژه، اضافه کردن فایل های CSS و JS
  • نقطه دوم – ساخت ساختار اصلی وب سایت
  • نقطه سوم – اضافه کردن نوار منو

 

یک مثال جالب از Preston-Werner (یکی از اعضای برجسته Git) : درست مثل این است که شما هر سال با دوربین، عکسی را از کودک خود تهیه کنید تا روند رشد آن را بررسی کنید. بنابراین اگر شما مفهوم جدول زمانی نقطه ها را درک کنید، به نظر من متوجه می شوید که چه وقت Git کار آمد است. اگر بخواهید این کارها را بطور دستی بدون هیچ برنامه کنترل کد انجام دهید باید، در هر بار تغییر در کد، از تمام فایل ها و دایرکتوری ها کپی تهیه کنید و آنها را هر بار تغییر نام دهید. Git این کارها، و خیلی کارهای دیگر را نیز به سرعت انجام می دهد.

gitchart  

سیستم های کنترل نسخه برای این ساخته شده اند که بیش از یک شخص بتواند بر روی همان پروژه کار کند. هر برنامه نویس کدها را دانلود می کند، بر روی آن کار می کند، ویژگی جدید یا تغییراتی را ایجاد می کنید (که به این کار commit می گویند، که حتما در github دیده اید). آنگاه می تواندcommint های خود را  با commitهای دیگر برنامه نویسان به اشتراک بگذارد.

در اینجا هم، پروژه ما شبیه به مدل هواپیما است، و هر عکسی که از مدل هواپیما می گیرید یک commit است. بعد از اینکه پروژه خود را به اتمام رساندید می توانید به عقب برگردید و تمام commitها را مشاهده کنید و ببینید که فایل ها در نقطه های توقف به چه شکلی دیده می شوند.

بنابراین، شما یک commit ایجاد می کنید و آن را به سرور ارسال می کنید.

هنگامی که از یک سیستم کنترل (VCS) استفاده می کنید و به طور منظم commit ایجاد می کنید، لازم نیست نگران این باشید که چیزی خراب یا نابود شود. اگر واقعا چیزی را از دست بدهید، تنها لازم است که به آخرین commit خود بازگردید و کار را ادامه دهید.

با استفاده از VCS به آسانی می توانید پروژه خود را با دیگران به اشتراک بگذارید، و به دیگر توسعه دهنده ها این امکان را بدهید که آن را توسعه بدهند. بدون VCS، مجبور هستید به طور دستی، تغییرات را کپی، مقایسه و تغییرات آنها را با دست انجام دهید. که این اصلا سرگرم کننده نیست.

 

 




آخرین بروزرسانی
۱۴ اسفند ۱۴۰۲ 
تعداد کلیک
۵,۶۰۹

فهرست نظرها و ارسال نظر جدید

نام را وارد کنید
ایمیل را وارد کنید
تعداد کاراکتر باقیمانده: 1000
نظر خود را وارد کنید