بدون شک، اگر در حوزه برنامه نویسی فعالیت داشته باشید، با نام گیت آشنا هستید. گیت به عنوان محبوبترین سیستم کنترل نسخه پروژه در دنیای تکنولوژی شناخته میشود. تقریبا ۹۰ درصد از پروژهها از گیت برای کنترل نسخههای مختلف پروژهشان استفاده میکنند. در این مقاله، قصد داریم با سیستم کنترل نسخه پروژه Git بیشتر آشنا بشویم.
چرا به سیستم کنترل پروژه نیاز داریم؟
برای توسعه پروژههای بزرگ، نیاز است که چندین فرد در آن مشارکت کنند و نسخههای مختلف پروژه در دسترس باشند تا در صورت بروز مشکل، به نسخههای قبلی برگردیم. در صورت عدم استفاده از سیستمهای کنترل نسخه پروژه و تمایل به انجام کار به صورت دستی با قرار دادن نسخههای مختلف در پوشههای مختلف، این کار بسیار تکراری و خستهکننده خواهد بود. همچنین، در صورتی که چندین نفر در پروژه فعالیت کنند، هماهنگی در این زمینه بسیار دشوار خواهد بود. به همین دلیل، اهمیت داشتن یک سیستم کنترل نسخه در اینجا مشهود میشود. سیستمهای کنترل نسخه زیادی وجود دارند. در این جا به Git می پردازیم.
تاریخچه Git
لینوس توروالدز، خالق لینوکس، همراه با دیگر اعضای جامعه توسعه لینوکس، در سال 2005 گیت را ساخت و منتشر کردند. آنها این پروژه را به دست گرفتند زیرا نیاز به یک سیستم کنترل نسخه متن باز و رایگان وجود داشت که توانایی برآورده کردن نیازهای توسعه هسته لینوکس را داشته باشد. آنها به یک سیستم نیاز داشتند که بتواند هماهنگی بین برنامه نویسان را در مقایس بزرگ را پشتیبانی بکند و عملیات مختلفی در چند ثانیه به جای 30 ثانیه انجام دهد.
Git چیست ؟
گیت یک سیستم کنترل پروژه متن باز و رایگان است. در گیت، نسخه های مختلف و تغییرات پروژهها در جایی به نام Repository ذخیره میشوند. این سیستم دارای ساختار غیرمتمرکزی است. به این معنا که هر کاربر میتواند یک کپی از پروژه اصلی شامل تمامی ویژگیها و تاریخچه نسخههای آن که در یک سرور قرار دارد بگیرد و سپس شروع به اعمال تغییرات و افزودن ویژگیهای جدید کند. پس از اتمام کار، تغییرات ایجاد شده را به پروژه اصلی که در سرور استقرار دارد، اعلام میکند. این ویژگی اجازه میدهد تا برنامهنویسان بدون نیاز به اتصال به سرور ، در توسعه پروژه مشارکت کنند و تنها در لحظه اتمام تغییرات، آن را به سرور ارسال نمایند. علاوه بر این، گیت سرعت بالای در انجام عملیات دارد و امنیت بالای دارد.
Git چگونه کار می کند؟
بعد از نصب گیت در سیستمهای خود، کاربران میتوانند با وارد کردن دستورات در ترمینال یا استفاده از رابط کاربری گرافیکی مانند GitHub Desktop با Repository خود کار کنند. سپس میتوانند پروژههای خود را راهاندازی کنند یا به پروژههای دیگری بپیوندند. تمامی فایل های در Repository سه حالت دارند.
Modified : در این وضعیت فایل ها تغییر یافته اند؛ اما در وضعیت آماده سازی برای ثبت تغییرات قرار نگرفته اند. تقریبا هر فایلی که به پروژه اضافه می شود یا در آن تغییراتی انجام می شود، در این وضعیت قرار می گیرد.
Staging area : در این وضعیت کاربر تعدادی فایل برای ثبت تغییرات علامت گذاری می کند. این فایل ها به جایی به نام Staging area اضافه میشوند که یک مکان میانی برای بررسی فایلها قبل از ثبت آنها می باشد.
Commit: هنگامی که فایل های را که برای ثیت تغییرات علامت گذاری کرده بودیم، بررسی کردیم. می توانیم تغییرات فایل را ثبت کنیم که به این کار در گیت commit می گویند. هر commit نشان دهنده یک تغییر در پروژه می باشد. هر commit یک کد مخصوص به خود دارد؛ با استفاده از این کد می توانیم تغییرات هر commit را ببینیم یا پروژه به آن نسخه مورد نظر برگردانیم.
بعد از اینکه توسعه دهنده تغیررات لازم را بر روی پروژه انجام داد. توسعه دهنده با درخواست push می تواند تغییرات را به اطلاع سروری که پروژه اصلی روی آن قرار دارد برساند.
گیت به علت کارایی بالا، متن باز بودن و رایگان بودن به شدت محبوب هست. اگر شما به دنبال کاری در حوزه برنامه نویسی و مهندسی نرم افزار هستید، یکی از مهارت های ضرروی که باید بر آن مسلط باشید نحوه کار با سیستم کنترل پروژه Git می باشد.
on Git سیستم کنترل نسخه معروف