کنکور کامپیوتر
0
ورود | ثبت نام
نظرات
اشتراک
بالا
علاقه‌مندی

اشتراک
 

گیت (Git) چیست؟ و چگونه از آن استفاده کنیم؟

گیت (Git) چیست و چگونه از آن استفاده کنیم؟ این مقاله عالی به بررسی مزایای سیستم گیت و نحوه کار کردن با گیت پرداخته و گفته چرا از گیت استفاده می شود؟

به طور خلاصه، گیت (Git) یک سیستم توزیع شده کنترل ورژن متن باز (Open Source)اوپن سورس یا متن باز چیست؟ اوپن سورس به چه معناست؟اوپن سورس یا متن باز چیست؟ اوپن سورس به چه معناست؟اوپن سورس یا متن باز چیست؟ این صفحه عالی به بررسی این موارد و همچنین تاریخچه نرم افزار متن باز و نحوه به کارگیری متن باز در توسعه نرم افزار پرداخته است است که تحت لایسنس عمومی GNU قرار دارد. سیستم های کنترل ورژن همانند گیت به‌طور کلی برای مدیریت فرآیند تولید نرم‌افزار و مدیریت سورس کدها، نگهداری، امنیت و بسیاری از موارد دیگر مورد استفاده قرار می‌گیرند. سیستم گیت تمامی تغییرات اعمال شده روی فایل‌ها را در طول زمان به‌صورت سلسله‌مراتب ذخیره می‌کند. این کار در هر مرحله از فرایند ذخیره‌سازی در گیت انجام می‌شود؛ همچنین بحث Integrity یا جامعیت در تمامی مراحل گیت وجود دارد؛ یعنی با توجه به این که توسعه دهندگان مختلفی بر روی یک مخزن اطلاعاتی کار می‌کنند، اما هیچ تداخلی در کدهای ذخیره شده‌ی مخزن وجود ندارد و هیچ تغییر ناخواسته‌ای در اطلاعات به وجود نمی‌آید، همچنین، کاربران قادر هستند تا به ورژن‌های قدیمی‌تر نرم‌افزار خود بازگردند و تغییرات اعمال شده را مقایسه کنند یا تغییر دهند.

از ویژگی های دیگر گیت می‌توان به ایجاد شاخه (Branch) و ادغام آنها (Merge) اشاره کرد. به این ترتیب هر توسعه دهنده می‌تواند روی وظایف مربوط به خود بر روی کد تمرکز کند و در آخر تمامی تغییرات به‌صورت یک ورژن یکپارچه ادغام شوند. منظور از مخزن یا Repository همان پوشه یا Folder پروژه است که دارای دایرکتوری .git/ می‌باشد. سیستم کنترل ورژن گیت در حال حاضر معروف‌ترین سیستم است که در اکثر شرکت‌های تولید برنامه‌های مبتنی بر کد استفاده می‌شود. در ادامه‌ی این مقاله با ویژگی‌ها و نحوه کار کردن با گیت بیشتر آشنا می‌شویم.

گیت (Git) چیست؟

گیت چگونه کار می‌کند؟

از آنجا که گیت یک سیستم توزیع شده است، می‌توان از آن با و یا بدون یک مخزن متمرکز (Central Repository) استفاده کرد. بر خلاف سیستم‌های ورژن کنترل متمرکز که به یک سرور و یا سرویس میزبان برای نگهداری مخزن اولیه نیاز دارند، در گیت هر کاربر یک کپی محلی یا یک کلون (Clone) در سیستم خودش دارد که شامل تمامی تاریخچه ورژن پروژه مربوطه می‌باشد. به این ترتیب هر یک از این کاربرها و سیستم‌هایشان نقش یک پشتیبان (Backup) را بازی می‌کند و باعث می‌شود تا سیستم دچار Single Point of Failure نشود؛ همچنین کاربران در زمان وصل نبودن به اینترنت نیز می‌توانند برروی پروژه کار کنند.

بعد از این که گیت بر روی سیستم ما نصب شد، قادر هستیم تا با استفاده از دستورات مربوط به گیت در یک محیط ترمینالی و یا در محیط‌هایی که دارای رابط کاربری گرافیکی (GUI)رابط کاربری گرافیکی چیست؟رابط کاربری گرافیکی چیست؟این صفحه عالی به معرفی رابط کاربری گرافیکی پرداخته و نحوه عملکرد رابط کاربری گرافیکی و بهترین زبان های برنامه نویسی برای رابط کاربری گرافیکی را معرفی کرده مانند گیت هابگیت هاب چیست؟ نحوه کار و استفاده از گیت هاب چگونه است؟گیت هاب چیست؟ نحوه کار و استفاده از گیت هاب چگونه است؟این مقاله عالی بررسی کرده که گیت هاب چگونه کار می‌کند؟ و همچنین به بررسی کاربرد های گیت هاب و شروع کار با گیت هاب پرداخته است دسکتاپ، به تعامل با گیت بپردازیم. ما می‌توانیم پروژه‌ای مربوط به خودمان بسازیم و یا بر روی پروژه‌های ایجاد شده با پیوستن به آنها کار کنیم. برای پیوستن به یک پروژه، مخزن مربوط به آن پروژه را به اصطلاح کلون می‌کنیم. به این ترتیب یک کپی از مخزن مورد نظر در سیستم‌مان ایجاد می‌شود. تمامی فایل‌هایی که در مخزن محلی کاربر است، همیشه در یکی از 3 حالت زیر قرار می‌گیرند. به هرکدام از این حالت‌ها در گیت، یک Stage (استیج) می‌گویند.

بعد از این که کاربران تغییرات اعمال شده را Commit کردند، تغییرات در مخزن Local ذخیره می‌شود. برای اینکه تغییرات اعمال شده به مخزن مرکزی یا مخزن بقیه کاربران برسد، باید از Push استفاده کنیم. به وسیله دستور push، تمامی تغییرات به مخزن اصلی فرستاده می‌شود. حال اگر کاربر دیگری قصد استفاده از این تغییرات را داشته باشد، باید از دستور pull استفاده کند تا جدید ترین نسخه را از مخزن اصلی دریافت کند؛ به عنوان مثال فرض کنید کاربر "الف" یک ویژگی جدیدی به کدها اضافه کرده است و کاربر "ب" و "پ" می‌خواهند از آن ویژگی جدید استفاده کنند. برای این کار، آنها در گیت خود از دستور pull استفاده می‌کنند تا این ویژگی جدید که در ورژن جدیدتر پروژه قرار دارد، وارد مخزن محلی آنها شود.

نحوه استفاده از گیت

مزایای سیستم گیت

سیستم کنترل ورژن گیت دارای مزایای فراوانی می‌باشد که مهم‌ترین آنها را در لیست زیر آورده‌ایم:

نحوه کار کردن با گیت

هرچند که گیت دارای ویژگی‌ها و دستورات زیادی است، اما کار کردن با دستورات ابتدایی آن بسیار ساده است و تنها به وسیله همین دستورات می‌توانیم بر روی توسعه‌ی یک پروژه مشارکت داشته باشیم.

برای شروع یک پروژه، وارد دایرکتوری مربوطه می‌شویم و دستور زیر را وارد می‌کنیم.

git init

وارد شدن به دایرکتوری مدنظر در گیت

بعد از ایجاد شدن پروژه، یک فایل txt با نام first_file در دایرکتوری مربوطه ایجاد می‌کنیم و در آن جمله‌ی !Hello World را می‌نویسیم و ذخیره می‌کنیم.

ایجاد فایل در دایرکتوری مربوطه در گیت

در هر مرحله از کار برروی پروژه می‌توانیم با دستور زیر از وضعیت فعلی مخزن مطلع شویم:

git status

مطلع شدن از وضعیت مخزن در گیت

همان‌طور که در تصویر بالا مشاهده می‌کنیم، فایل first_file در قسمت Untraced Files با رنگ قرمز مشخص شده است. به این معنی که در فاز Modified قرار دارد. برای فرستادن به فاز Staged باید از دستور زیر استفاده کنیم:

git add <filename_one>

با استفاده از دستور بالا می‌توانیم نام فایل‌هایی که می‌خواهیم وارد فاز Staged شوند را بنویسیم. اگر قصدمان این باشد تا تمامی فایل‌ها را به فاز Staged منتقل کنیم، می‌توانیم به جای نام فایل‌ها تنها از یک نقطه یا "." استفاده کنیم.

git add .

انتقال همه فایل ها به فاز Staged در گیت

اکنون بار دیگر از دستور git status استفاده می‌کنیم تا از وضعیت کنونی مطلع شویم.

اطلاع از وضعیت مخزن

همان‌طور که مشاهده می‌کنید، first_file.txt به رنگ سبز درآمده و آماده‌ی کامیت شدن است. برای کامیت کردن و ثبت نهایی از دستور زیر استفاده می‌کنیم:

git commit -m "<add a commit message here>"

هر کامیتی دارای یک پیام است که مربوط به همان کامیت می‌باشد. برای مثال، اگر تغییرات فایل شامل رفع ایراد باشد، می‌توانید اشاره کنید که فلان باگ برطرف شده است یا مثلاً ویژگی جدیدی اضافه شده است.

انجام کامیت در گیت

اکنون مجدداً دستور git status را وارد می‌کنیم.

بررسی وضعیت مخزن بعد از انجام کامیت در گیت

در پیغامی که توسط گیت در ترمینال چاپ شده است درمی‌یابیم که تمامی تغییرات اعمال شده است و دیگر هیچ تغییری برای کامیت کردن وجود ندارد. اکنون اگر فایل دیگری ایجاد کنیم یا فایل‌های موجود را تغییر دهیم، باید مراحل بالا را مجدداً انجام دهیم.

به وسیله دستور log می‌توان تمامی تاریخچه مخزن‌مان را مشاهده کنیم؛ از جمله زمان ایجاد شدن کامیت‌ها، ایجاد کننده‌ی کامیت، هش مربوط به کامیت‌ها و...

git log

مشاهده تاریخچه مخزن مورد نظر در گیت

برای ارسال به ریپازیتوری یا مخزن اصلی نیز از دستور push استفاده می‌شود:

git push ‘remote_name’ ‘branch_name’

اکنون اگر کاربری در حال استفاده از ریپازیتوری ایجاد شده توسط ما باشد و بخواهد تا مخزن محلی خودش را به‌روزرسانی کند، باید از دستور زیر استفاده کند تا آخرین تغییرات ایجاد شده را دریافت کند:

git pull ‘remote_name’ ‘branch_name’

آخرین دستوری که معرفی می‌کنیم، دستور کلون کردن است. این دستور برای دریافت یک نسخه کپی از مخزن‌های راه دور (مثلاً گیت‌هاب) می‌باشد. با استفاده از URL هر مخزن، می‌توانید به‌سادگی با دستور زیر آن را کلون کنید:

git clone [repository url]

تاریخچه گیت

خالق گیت، لینوس توروالدز (Linus Torvalds) خالق سیستم عاملسیستم عامل چیست به زبان ساده، چرا باید از OS استفاده کنیم؟سیستم عامل چیست به زبان ساده، چرا باید از OS استفاده کنیم؟این مقاله عالی به معرفی سیستم عامل (Operating System|OS) به زبان ساده پرداخته، همچنین بررسی کرده که چرا باید از سیستم عامل استفاده کنیم لینوکس می‌باشد. لینوس به همراه بقیه اعضای توسعه دهنده لینوکس، در سال 2005 سیستم گیت را عرضه کرد؛ زیرا در آن زمان نبود یک سیستم کنترل ورژن رایگان و متن باز برای توسعه کرنل (Kernel) لینوکس احساس می‌شد. آنها نیاز به سیستمی داشتند تا بتوانند در مقیاس بزرگ به همکاری و توسعه بپردازند و پرفورمنس وظایف مشخصی را بالا ببرند؛ مثلا یک تغییر جدید یا Patch را در کمتر از چند ثانیه اعمال کنند، به این ترتیب به فکر تولید سیستم Git افتادند. امروزه تقریباً در تمامی شرکت‌های برنامه‌سازی از گیت و یا یک تعمیمی از آن استفاده می‌کنند.

جمع‌بندی

سیستم کنترل ورژن گیت یکی از محبوب‌ترین سیستم های کنترل ورژن است. یادگیری و کار با دستورات اولیه آن ساده، اما بسیار کاربردی است. اگر قصد کار کردن در یک تیم توسعه دهنده در شرکتی را داشته باشید، آشنایی با دستورات گیت از نیازمندی‌های اولیه است. بنابراین اگر یک برنامه‌نویس هستید و تاکنون با سیستم کنترل ورژن گیت کار نکرده‌اید، پیشنهاد می‌کنیم تا در فرصت مناسبی حتماً به یادگیری این سیستم بپردازید. در این مقاله به معرفی سیستم گیت پرداختیم و نکات مهم و مزایای آن را بررسی کردیم. همچنین با معرفی دستورات اولیه سعی کردیم تا به جنبه‌های مختلف این سیستم بپردازیم.

گیت چیست؟

به طور خلاصه، گیت (Git) یک سیستم توزیع شده ی کنترل ورژن کد باز است که تحت لایسنس عمومی GNU قرار دارد.

چرا از گیت استفاده می شود؟

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

امتیازدهی5 1 1 1 1 1 1 1 1 1 15.00 امتیاز (2 رای)
اشتراک
بارگذاری نظرات
تلگرام اینستاگرام