ایجاد یک Fork جدید در GitHub
برای ارسال تغییرات انجام شده بر روی یک پروژه، نیاز است به صاحب یا مسئول آن مخزن در GitHub مراجعه و سپس درخواست دسترسی اعمال تغییرات را نمود. در این حالت، احتمال اینکه جواب منفی دریافت کنید، بسیار زیاد است. جهت مدیریت یک چنین مواردی، قابلیتی به نام ایجاد یک Fork پیش بینی شدهاست.
در بالای هر مخزن کد در GitHub، یک دکمه به نام Fork موجود است. بر روی آن که کلیک کنید، یک کپی از آن پروژه را به مجموعهی مخزنهای کد شما در GitHub اضافه میکند. بدیهی است در این حالت، مجوز ارسال تغییرات خود را به GitHub و در اکانت خود خواهید داشت. نحوهی اطلاع رسانی این تغییرات به صاحب اصلی این مخزن کد، ارسال همان PR یا Pull Request است.
دریافت مخزن کد Fork شده از GitHub به کمک Visual Studio
پس از اینکه Fork جدیدی را از پروژهای موجود ایجاد کردیم، نیاز است یک Clone یا کپی مطابق اصل آنرا جهت اعمال تغییرات محلی، تهیه کنیم. برای اینکار VS.NET را گشوده و به برگهی Team Explorer آن که در کنار Solution Explorer قرار دارد، مراجعه کنید.
در اینجا بر روی دکمهی Connect در نوار ابزار آن، کلیک کرده و در صفحهی باز شده، بر روی لینک Clone کلیک نمائید. در اینجا میتوان آدرس مخزن کد Fork شده را جهت تهیه یک Clone مشخص کرد؛ به همراه محلی که قرار است این Clone در آن ذخیره شود.
آدرس HTTPS وارد شده، در کنار تمام مخازن کد GitHub قابل مشاهده هستند:
پس از تکمیل این دو آدرس، بر روی دکمهی Clone کلیک نمائید. پس از پایان کار، اگر به آدرس محلی داده شده بر روی کامپیوتر خود مراجعه کنید، یک کپی از فایلهای این مخزن، قابل مشاهده هستند.
اعمال تغییرات محلی و ارسال آن به سرور GitHub
در ادامه، این پروژهی جدید را در VS.NET باز کرده و تغییرات خود را اعمال کنید. اکنون نوبت به ارسال این تغییرات به سرور GitHub است. برای این منظور به برگهی Team Explorer مراجعه کرده و بر روی دکمهی Home آن کلیک کنید. سپس گزینهی Changes را انتخاب نمائید:
در اینجا توضیحاتی را نوشته و سپس بر روی دکمهی Commit کلیک کنید.
پس از هماهنگ سازی محلی، اکنون نوبت به هماهنگ سازی این تغییرات با مخزن کد GitHub است. بنابراین بر روی لینک Sync در پیام ظاهر شده کلیک کنید و در صفحهی بعدی نیز بر روی دکمهی Sync کلیک نمائید:
اکنون اگر به پروژهی GitHub خود مراجعه کنید، این تغییر جدید قابل مشاهدهاست:
مطلع سازی صاحب اصلی مخزن کد از تغییرات انجام شده
تا اینجا کسی از تغییرات جدید انجام شدهی توسط ما باخبر نیست. برای اطلاع رسانی در مورد این تغییرات، به مخزن کد Fork شده که اکنون تغییرات جدید به آن ارسال شدهاند، مراجعه کنید. سپس در کنار صفحه بر روی لینک Pull request کلیک نمائید:
در اینجا بر روی دکمهی New pull request کلیک کنید:
در ادامه تغییرات ارسال شما نمایش داده خواهند شد. آنها را بررسی کرده و مجددا بر روی دکمهی Create pull request کلیک کنید:
در اینجا عنوان و توضیحاتی را وارد کرده و سپس بر روی دکمهی Create pull request کلیک نمائید:
یکی سازی تغییرات با مخزن اصلی
اکنون صاحب اصلی مخزن کد یک ایمیل را دریافت خواهد کرد؛ همچنین اگر به مخزن کد خود مراجعه نماید، آمار Pull requests دریافتی قابل مشاهده است:
پس از انتخاب یکی از آنها، لینکی برای بررسی تغییرات انجام شده و همچنین دکمهای برای یکی سازی آنها با پروژهی اصلی وجود دارد:
دریافت این تغییرات در مخزن کد محلی توسط صاحب اصلی پروژه
اکنون که این تغییرات با پروژهی اصلی Merge و یکی شدهاند، صاحب اصلی پروژه جهت تهیهی یک کپی محلی و بهبود یا تغییر آنها میتواند به صورت ذیل عمل کند:
ابتدا به برگهی Team explorer مراجعه کرده و بر روی دکمهی Home آن کلیک کنید. سپس گزینهی Unsynced commits را انتخاب نمائید. در صفحهی باز شده بر روی دکمهی Sync کلیک نمائید. به این ترتیب آخرین تغییرات را از مخزن کد GitHub به صورت خودکار دریافت خواهید کرد: