مشارکت در پروژهای که دسترسی مستقیم به آن ندارید
وقتی میخواهید در یک پروژهی متنباز مشارکت کنید ولی دسترسی نوشتن روی مخزن اصلی را ندارید، از قابلیت Fork استفاده میکنید. با کلیک روی دکمهی Fork در صفحهی گیتهاب، یک کپی کامل از آن مخزن در حساب کاربری خودتان ساخته میشود که روی آن دسترسی کامل دارید.
git clone https://github.com/your-username/project.git
cd project
git remote add upstream https://github.com/original-owner/project.git
upstream نامی قراردادی برای اشاره به مخزن اصلی است، در حالی که origin به fork خودتان اشاره میکند. پس از انجام تغییرات روی یک شاخهی جدید و push کردن آن به fork خودتان، از طریق رابط گیتهاب یک Pull Request (PR) باز میکنید که درخواستی است برای ادغام شاخهی شما با مخزن اصلی.
نوشتن یک Pull Request خوب
یک PR خوب باید عنوان روشن، توضیح مختصر از هدف تغییر، و در صورت لزوم اسکرینشات یا نحوهی تست داشته باشد. بسیاری از پروژهها یک قالب (template) برای PR دارند که باید پر شود. همچنین میتوانید PR را به یک issue خاص با نوشتن Closes #42 در توضیحات پیوند دهید تا پس از merge شدن، آن issue بهصورت خودکار بسته شود. حتی اگر مستقیماً روی یک مخزن دسترسی نوشتن دارید، باز هم باز کردن PR بهجای push مستقیم روی main، فرصت بررسی کد را قبل از ورود به نسخهی اصلی فراهم میکند.