سلام Git! من قبلاً ازت متنفر بودم !

بیشتر ما حتی پس از اجرای ابتدایی ترین دستورات Git، در اولین آزمایش آن را دوست نداریم. داشتن ورق تقلب هم به ما کمکی نمی کند. Git بسیار پیچیده است. متأسفانه ، زندگی شما به عنوان یک توسعه دهنده وب بدون Git نیز پیچیده خواهد بود!

مشکل شماره 1 زندگی بدون Git این است که شما نمی توانید نسخه های پروژه را به طور مناسب مدیریت کنید. با شروع یک پروژه جدید ، چندین فایل اساسی ایجاد می کنید. این پرونده های اصلی نسخه اول برنامه شما را تشکیل می دهند. اما روز بعد ویژگی اول را توسعه می دهید و به این ترتیب نسخه دوم برنامه را ایجاد می کنید. بعداً تصمیم می گیرید اولین ویژگی را مجدداً تغییر دهید. بنابراین ، شما یک نسخه سوم از برنامه خود ایجاد می کنید. هنگامی که کد را حذف کرده یا دوباره کار می کنید ، نمی توانید حالت قبلی آن را بازیابی کنید (بخوانید: نسخه). بدون Git ، شما باید هر نسخه از پروژه را در مکانی دیگر ذخیره کنید. با این حال ، بازگرداندن یک پروژه از چندین مکان گزینه خوبی نیست. چگونه می دانید نسخه دقیق برنامه مورد نیاز شما چیست؟ از طرف دیگر Git می تواند به شما بگوید چه نسخه پروژه ای را بازیابی می کنید.

در اینجا یک مشکل دیگر توسعه وجود دارد: چندین توسعه دهنده روی یک پروژه کار خواهند کرد و به نسخه های قبلی برنامه نیز نیاز دارند. چگونه می توانید کد خود را با کل تیم توسعه به اشتراک بگذارید؟

"من می توانم از Dropbox ، گوگل درایو ، OneDrive ، فلش درایو استفاده کنم ... درایو دیگر برای ذخیره کد من و به اشتراک گذاری آن با همه! " توسعه دهنده ناشناس

درست است. اما باز هم ، چگونه می توانید با اطمینان بدانید که کدام نسخه کد جدیدترین است؟ و اگر دوست شما می خواهد کد شما را با نسخه خود در همان پرونده ادغام کند ، آیا می خواهید به صورت خط به خط بروید تا ببینید کد شما در کدام قسمت از پرونده ادغام می شود؟ شرط می بندم که شما اینکار را نمی کنید.

گیت به راحتی هر دو مشکلی را که من توضیح دادم حل می کند: مدیریت نسخه های پروژه و به اشتراک گذاری کد در بین توسعه دهندگان. اما برای اینکه با Git دوست باشیم ، باید درک کنیم که Git چگونه کار می کند. برای این کار باید شروع به استفاده از دستورات اولیه کنیم.

گیت چیست؟

گیت یک سیستم کنترل نسخه توزیع شده است. "توزیع" به این معنی است که کلیه توسعه دهندگان درون یک تیم دارای نسخه کاملی از پروژه هستند. یک سیستم کنترل نسخه به سادگی نرم افزاری است که به شما امکان می دهد نسخه های برنامه را به طور مؤثر مدیریت کنید. به لطف Git شما می توانید موارد زیر را انجام دهید:

  • تمام پرونده های یک پروژه را پیگیری کنید
  • هرگونه تغییر در پرونده های پروژه را ضبط کنید
  • نسخه های قبلی فایل ها را بازیابی کنید
  • کدها را مقایسه و تجزیه و تحلیل کنید
  • کدها را از رایانه های مختلف و اعضای تیم های مختلف ادغام نمایید

قابلیت های ذکر شده در بالا نحوه عملکرد Git را نشان نمی دهد. با تمام پیچیدگی ها Git بسیار ساده کار می کند: شما ابتدا باید یک مخزن محلی در فهرست اصلی (پوشه) پروژه خود ایجاد کنید. پس از آن Git می تواند پرونده ها و دایرکتوری های پروژه را ردیابی کرده و آنها را به مخزن اضافه کند.

من می دانم چه کسی چه کاری را انجام داده است ، چه موقع و چرا

یک مخزن فقط یک فهرست (یک پوشه) در فهرست اصلی پروژه شما است. (در کل مقاله ما از اصطلاح دایرکتوری استفاده خواهیم کرد ، نه پوشه.) شما نمی توانید مخازن را در سیستم فایل خود مشاهده کنید زیرا مخفی هستند. اما هنوز هم می توانید یک مخزن را در ویرایشگر کد یا IDE خود ببینید:

مخزن محلی چیست؟ بیایید از تخیل خود برای درک مخازن استفاده کنیم.

اگر وسایل (کد) خود را در خانه (در رایانه ای با یک فهرست دایرکتوری Git) ذخیره می کنید ، وسایل خود را به صورت محلی ذخیره می کنید. بنابراین یک مخزن در رایانه شخصی شما محلی خواهد بود. یک مخزن از راه دور مانند یک انبار عمومی است که در یک ساختمان دیگر واقع شده است. شاید در مورد مخازن از راه دور مانند GitHub ، BitBucket و GitLab شنیده باشید. آنها مانند انبارهای کد هستند. با تشکر از Git می توانید کل پروژه خود را در یک مخزن از راه دور کپی کنید در حالی که آن را در یک مخزن محلی نیز نگه دارید.

چرا از مخازن محلی و راه دور استفاده می کنیم؟ بگذارید کمی توضیح دهیم.

در دنیای واقعی ، شما نمی توانید دقیقاً همان موارد را در خانه و یک انبار داشته باشید. اگر امور شما از خانه ناپدید شوند (خدای ناکرده!) ، شما می توانید نسخه ها یا کلون (در بهترین حالت) را از یک فروشگاه بازیابی کنید. و شما هنوز هم برخی از اشیاء با ارزش (چیزهای اصلی) را از دست می دهید. با وجود GitHub یا BitBucket ، این یک داستان متفاوت است.

انبارهای از راه دور (مخازن مانند GitHub یا BitBucket) دقیقاً همان کدی را که در مخازن محلی خود دارید (روی رایانه منزل خود) ذخیره می کنند. اگر کد شما از مخزن محلی شما ناپدید شد ، می توانید کاملاً همان کد را از یک مخزن از راه دور بازیابی کنید. یک مخزن از راه دور همچنین به عنوان یک مرکز اصلی که اعضای یک تیم توسعه می توانند برای دسترسی به کد پروژه به آن وصل شوند ، عمل می کند.

برای اجرای دستورات Git دو روش وجود دارد. می توانید از برنامه هایی با رابط کاربری گرافیکی مانند GUI Clients برای Git استفاده کنید. همچنین می توانید دستورات ترمینال را برای Git اجرا کنید. در این مقاله ما از ترمینال (که به آن خط فرمان نیز گفته می شود) برای اجرای دستورات Git استفاده می کنیم. ترمینال ابزاری اساسی است که همه توسعه دهندگان باید آن را درک کنند.

در آخر اینکه باید Git را روی رایانه خود نصب کنید. اگر قبلاً این کار را نکرده اید، این دستورالعمل ها را دنبال کنید. پس از نصب، می توانید به عنوان مثال به دستورات اولیه Git بروید تا با آن بیشتر آشنا شوید.

پیکربندی

وقتی برای اولین بار به یک بانک مراجعه می کنید و می خواهید پول خود را در آنجا ذخیره کنید ، آنها یک دسته کاغذ به شما می دهند تا آن را پر کنید. قبل از استفاده از خدمات بانکی ، باید در بانک ثبت نام کنید. Git می خواهد شما قبل از شروع استفاده از مخزن ، همین کار را انجام دهید (با Git ثبت نام کنید).

برای اینکه به Git بگویید شما چه کسی هستید ، دو دستور زیر را اجرا کنید:

$ git config --global user.name "King Kong"
$ git config --global user.email [email protected]"

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

بیایید به سرعت دستورات Git را مرور کنیم. شما ابتدا باید "git" را تایپ کنید ، به دنبال آن یک دستور "پیکربندی یا config " و در مثال ما گزینه "--global" را مقدار دهی می کنید. گزینه "--global" به این معنی است که نام کاربری و ایمیل خود را برای Git در سطح کل رایانه خود تنظیم می کنید. مهم نیست که چند پروژه با مخازن محلی جداگانه ایجاد کنید ، Git از همان نام کاربری و ایمیل استفاده می کند.

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

$ git config --global color.ui true

مجدداً ، این پیکربندی در سطح کل سیستم اعمال می شود و به Git می گوید کلمات موجود در ترمینال را برجسته کند تا خوانایی را بهبود بخشد.

آخرین دستور تنظیمات اولیه به شما امکان می دهد پیکربندی های خود را مشاهده کنید. اجرای این دستور همان درخواست برای کپی کردن قرارداد خود است:

$ git config --list

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

دستورات اساسی Git شما تاکنون آموخته اید:

شروع یک مخزن محلی جدید با Git

برای ادامه استعاره بانکی ما ، باید صریحاً از بانک بخواهیم صندوق امانات جدیدی را برای ذخیره اثرات ما باز کند (بخوانید: کد).

با فرض اینکه شما یک دایرکتوری خالی را برای پروژه خود ایجاد کرده اید ، باید صریحاً از Git بخواهید یک صندوق امانات - یک مخزن - در آن فهرست ایجاد کند:

$ git init

دستور "init" مخفف اولیه سازی است. هنگامی که "git init" را اجرا کردید ، Git یک دایرکتوری پنهان با نام ".git" را در مسیر پروژه ایجاد می کند و در واقع تأیید می کنید جعبه سپرده شما آماده است! بعد چی؟ شاید بخواهید از وضعیت جعبه خود اطلاع داشته باشید: آیا هنوز چیزی ذخیره می کند؟ برای اطلاع از وضعیت Git دستور زیر را اجرا کنید:

$ git status

شما دستور بالا را اغلب مرتباً اجرا می کنید. این همان کاری است که با یک مدیر بانک تماس بگیرید تا بررسی کند وضعیت صندوق امانات شما چطور است. در حال حاضر ، Git خروجی زیر را به شما می دهد:

$ git status

On branch master

Initial commit

nothing to commit (create/copy files and use "git add" to track)

ادامه دارد ...


منبع: RubyGarage