آشنایی با گیت هاب (بخش اول)
فهرست مطالب
آخرین به روزرسانی در 29/07/2022
GitHub چیست ؟
گیت هاب یک پلت فرم میزبانی کد برای کنترل و همکاری پروژه های کد نویسی است که اجازه می دهد تا شما و دیگران در پروژه ها از هر کجا با هم کار کنید.
گیت هاب را می توان بزرگ ترین منبع برنامه نویسان جهان دانست زیراکه شما می توانید در آن انواع و اقسام سورس پروژه های مختلف تا نمونه کدهای بسیار ارزشمند را پیدا کرده و با گروه های برنامه نویسی مختلف در سرتاسر جهان به همکاری پرداخته و پروژه های خود را به اشتراک بگذارید .
این آموزش موارد ضروری GitHub مانند مخازن ، شاخه ها ، تعهدات و درخواست های Pull را به شما می آموزد. شما مخزن Hello World خود را ایجاد خواهید کرد و گردش کار GitHub’s Pull Request را می آموزید ، روشی محبوب برای ایجاد و مرور کد.
(توجه تمامی نکات ، توضیحات و آموزش های زیر از منبع رسمی و داکیومنت خود گیت هاب تهیه و ترجمه شده است .)
تفاوت میان گیت و گیت هاب
Git یک سیستم کنترل نسخه توزیع شده DVCS است که به چندین توسعه دهنده یا سایر مشارکت کنندگان اجازه می دهد تا روی یک پروژه کار کنند. این راهی برای کار با یک یا چند شعبه محلی و انتقال آنها به مخزن از راه دور را ارائه می دهد.
Git مسئول همه موارد مرتبط با GitHub است که به صورت محلی در رایانه شما اتفاق می افتد. ویژگی های کلیدی ارائه شده توسط Git عبارتند از :
- نصب شده و بر روی دستگاه محلی شما استفاده می شود
- دسته نسخه کنترل
- پشتیبانی از انشعاب
به طور کلی GitHub یک بستر ابری است که از Git به عنوان فناوری اصلی خود استفاده می کند.
این فرآیند همکاری در پروژه ها را ساده می کند و یک وب سایت ، ابزار خط فرمان و جریان کلی را فراهم می کند که به توسعه دهندگان و کاربران اجازه می دهد با هم کار کنند.
شروع آموزش – مرحله 1- ساخت مخزن
معمولاً از مخزن برای سازماندهی یک پروژه واحد استفاده می شود ؛ مخازن می توانند شامل پوشه ها و فایل ها ، تصاویر ، فیلم ها ، صفحات گسترده و مجموعه داده ها باشند و به طور کلی هر چیزی که پروژه شما به آن نیاز دارد.
توصیه می کنیم یک فایل با اطلاعات مربوط به پروژه خود اضافه کنید. GitHub امکان افزودن فایل را همزمان با ایجاد مخزن به شما می دهد .
مخزن شما می تواند مکانی باشد که در آن ایده ها و منابع را ذخیره کرده یا حتی مواردی را با دیگران به اشتراک بگذارید و در مورد آنها بحث کنید.
نحوه ایجاد
- در گوشه بالا سمت راست ، در کنار نماد یا شناسه خود ، کلیک کنید و سپس New repository را انتخاب کنید.
- مخزن خود را با نام دلخواه نامگذاری کنید.
- توضیح مختصری بنویسید.
- تیک گزینه Initialize this repository with README را بزنید.
- در نهایت روی Create repository. کلیک کنید
مرحله 2- ایجاد یک branch (شعبه)
انشعاب راهی برای کار همزمان روی نسخه های مختلف مخزن است.
مخزن شما به طور پیش فرض دارای یک شاخه به نام main است که به عنوان شاخه قطعی در نظر گرفته می شود. ما از شاخه ها برای آزمایش و ویرایش قبل از اعمال نهایی آنها به main استفاده می کنیم در واقع شاخه ها یک ابزار آزمون و خطایی هستند که قبل از اعمال نهایی به ما کمک می کنند تا قطعه کدهای خود را بهتر و کامل تر بررسی کنیم .
هنگامی که یک شاخه از شاخه اصلی ایجاد می کنید ، در حال تهیه یک کپی از منبع اصلی هستید که وجود داشته است و اگر شخص دیگری در شاخه اصلی خود تغییراتی ایجاد کرد ، می توانید آن به روزرسانی ها را وارد کنید.
نمودار شکل زیر موارد زیر را نشان می دهد :
- شاخه اصلی
- یک شاخه جدید به نام ویژگی
- سفری که این ویژگی قبل از ادغام در اصلی انجام می دهد
همانطور که در ابتدا گفتیم اینجا در GitHub ، توسعه دهندگان ، نویسندگان و طراحان از شاخه هایی برای نگهداری ، رفع اشکال و عملکرد ویژگی جدا از شاخه اصلی (تولیدی) استفاده می کنند.
هنگامی که تغییر آماده است ، آنها شاخه خود را در اصلی ادغام می کنند.
نحوه ایجاد
- به مخزنی که در مرحله ی قبل ایجاد کردید بروید .
- روی منوی کشویی در بالای لیست پرونده ها که روی آن نوشته شده است branch: main کلیک کنید و عبارت readme-edits را در کادر متن شاخه جدید وارد کنید.
- کادر آبی ایجاد شاخه را انتخاب کنید .
- در حال حاضر شما دو شاخه دارید ، اصلی و readme-edits. آنها دقیقاً شبیه به هم هستند ، اما نه برای مدت طولانی در مرحله بعد تغییرات خود را به شاخه جدید اضافه می کنیم.
مرحله 3 – ساخت و تغییر commit
در گیت هاب ، تغییرات ذخیره شده را commit می نامند. هر commit دارای یک پیام commit مرتبط است ، که توضیح می دهد چرا تغییر خاصی انجام شده است ؛ پیام های commit تاریخ تغییرات شما را ثبت می کند ، بنابراین سایر مشارکت کنندگان می توانند بفهمند شما چه کاری انجام داده اید و چرا و در چه زمانی.
- نحوه ایجاد
- روی فایل README.md کلیک کنید.
- برای ویرایش روی نماد مداد در گوشه سمت راست بالای نمای فایل کلیک کنید.
- در ویرایشگر ، کمی در مورد خودتان بنویسید.
- یک پیام commit بنویسید که تغییرات شما را توصیف می کند.
- روی دکمه تغییرات کلیک کنید.
(این تغییرات فقط در فایل README در شاخه readme-edits شما اعمال می شود ، بنابراین اکنون این شاخه حاوی محتوایی است که با اصلی متفاوت است.)
مرحله 4 – باز کردن یه درخواست Pull
Pull Requests قلب همکاری در GitHub است. وقتی درخواست Pull را باز می کنید ، تغییرات خود را پیشنهاد می کنید و از دیگران می خواهید که مشارکت شما را بررسی و جذب کرده و آنها را در شاخه خود ادغام کنند. درخواست های Pull تفاوت های محتوا را از هر دو شاخه نشان می دهد ؛ تغییرات ، اضافه ها و تفریق ها به رنگ سبز و قرمز نشان داده شده است.
به محض انجام commit ، می توانید درخواست Pull را باز کرده و بحث را شروع کنید ، حتی قبل از اینکه کد به پایان برسد.
با استفاده از سیستمition GitHub در پیام درخواست خود ، می توانید از افراد یا تیم های خاصی بازخورد بخواهید ، خواه در هر لوکیشنی از جهان که باشند .
حتی می توانید درخواست های pull را در مخزن خود باز کنید و خودتان آنها را ادغام کنید. این یک روش عالی برای یادگیری جریان GitHub قبل از کار بر روی پروژه های بزرگتر است.
نحوه ایجاد
- روی برگه Pull Request کلیک کرده ، سپس از صفحه Pull Request ، روی دکمه سبز New pull request کلیک کنید.
- در کادر مقایسه نمونه ، شاخه ای را که ایجاد کرده اید ) readme-edits) را انتخاب کنید تا با اصلی مقایسه شود.
- تغییرات خود را در تفاوت ها در صفحه مقایسه ببینید ، مطمئن شوید که آنها همان چیزی هستند که می خواهید ارسال کنید.
- وقتی مطمئن شدید که این همان تغییراتی هستند که می خواهید ارسال کنید ، روی دکمه سبز رنگ بزرگ Create Pull Request کلیک کنید.
- حال به درخواست Pull خود عنوان بدهید و توضیح مختصری از تغییرات خود بنویسید.
مرحله 5 – ادغام کردن درخواست های Pull
در آخرین مرحله ، زمان آن است که تغییرات خود را با هم ادغام کنید (شاخه readme-edits خود را در شاخه اصلی ادغام کنید.)
- روی دکمه سبز Merge pull request کلیک کنید تا تغییرات در اصلی ادغام شوند.
- روی Confirm merge کلیک کنید.
- با کلیک بر روی دکمه Delete branch در کادر بنفش ، شاخه را حذف کنید ، زیرا تغییرات آن اعمال شده است.
( ما در بخش دوم مقاله ی آشنایی با گیت هاب به معرفی و آموزش سایر بخش های مهم گیت هاب خواهیم پرداخت .)