Fork در گیت هاب چیست؟

تِندایو محصول جدید وب سایت پلتفرم بوی است که به میلیون ها پرسش دسته های مختلف حوزه فناوری دیجیتال پاسخ داده است. اعلامیه حریم خصوصی تِندایو - همچنین در انتهای همین صفحه از میزان رضایت خود از پاسخ ربات هوش مصنوعی تندایو را اعلام بفرمایید.

برای شروع پرسش جدید از این لینک اقدام کنید.

پرسش های مرتبط با گیت هاب
پرسش های مرتبط با گیت هاب

💬 سوال: Fork در گیت هاب چیست ؟

Fork (فورک یا شاخه‌زنی) یک عملیات اساسی و قدرتمند در گیت‌هاب است که به شما اجازه می‌دهد یک کپی کامل از یک ریپازیتوری (مخزن) شخص دیگر را در حساب کاربری خودتان ایجاد کنید. این کپی کاملاً مستقل است و شما می‌توانید بدون نگرانی از تأثیر روی پروژه اصلی، هر تغییری که می‌خواهید در آن ایجاد کنید، آزمایش کنید و ویژگی‌های جدیدی به آن اضافه کنید.

🤔 چرا از Fork استفاده می‌کنیم؟

۱. مشارکت در پروژه‌های متن‌باز (Open Source)

این رایج‌ترین دلیل برای Fork کردن است. فرآیند استاندارد برای مشارکت در یک پروژه که مالک آن نیستید به این شکل است:

  1. پروژه اصلی را Fork می‌کنید (یک کپی در حساب خودتان ایجاد می‌شود).
  2. ریپازیتوری Fork شده را روی کامپیوتر شخصی خود Clone می‌کنید.
  3. تغییرات مورد نظر را ایجاد و Commit می‌کنید.
  4. تغییرات را به ریپازیتوری Fork شده خود Push می‌کنید.
  5. یک Pull Request برای مالک پروژه اصلی می‌فرستید تا تغییرات شما را بررسی و در پروژه اصلی ادغام (Merge) کند.

۲. استفاده از یک پروژه به عنوان نقطه شروع

اگر پروژه‌ای را پیدا کرده‌اید که می‌تواند پایه خوبی برای ایده جدید شما باشد، آن را Fork می‌کنید و توسعه بر اساس آن را در مسیر خودتان ادامه می‌دهید.

۳. ارائه پیشنهادات و رفع مشکلات (باگ)

حتی اگر یک توسعه‌دهنده حرفه‌ای نیستید، می‌توانید با Fork کردن یک پروژه، مشکلاتش را مستند کنید یا حتی آن را رفع کرده و به مالک اصلی پیشنهاد دهید.


🔄 تفاوت Fork با Clone و Branch چیست؟

عملیات توضیح محل ذخیره‌سازی
Fork ایجاد یک کپی کامل و مستقل از کل ریپازیتوری در حساب کاربری شما روی گیت‌هاب
Clone دانلود یک کپی محلی از ریپازیتوری روی کامپیوتر شما روی هارد دیسک کامپیوتر شما
Branch ایجاد یک شاخه جدید برای توسعه ویژگی‌های مختلف درون همان ریپازیتوری درون همان ریپازیتوری اصلی

یک مثال ساده:

  • Fork مانند این است که یک نسخه کپی از یک کل مقاله را بردارید تا خودتان آن را ویرایش کنید.
  • Branch مانند این است که در همان مقاله اصلی، روی یک کپی از صفحه فعلی شروع به نوشتن پیش‌نویس کنید.
  • Clone مانند این است که آن مقاله را دانلود کنید تا روی کامپیوتر خودتان داشته باشید.

🛠️ چگونه یک ریپازیتوری را Fork کنیم؟

۱. به صفحه ریپازیتوری مورد نظر در گیت‌هاب بروید.
۲. روی دکمه Fork در بالای سمت راست صفحه کلیک کنید.

![دکمه Fork در گیت‌هاب](https://docs.github.com/assets/cb-23088/mw-1000/images/help/repository/fork_button.webp)

۳. اگر از چند سازمان (Organization) استفاده می‌کنید، از شما پرسیده می‌شود که ریپازیتوری را در کدام حساب کاربری Fork کنید. حساب شخصی خودتان را انتخاب کنید.
۴. پس از چند ثانیه، شما به صفحه کپی جدید آن ریپازیتوری در حساب کاربری خودتان هدایت می‌شوید. توجه کنید که در بالای صفحه نوشته شده: “Forked from [User-Name/Original-Repo]” که نشان‌دهنده ارتباط با پروژه اصلی است.

🔗 ارتباط بین Fork اصلی و Fork شما

پس از Fork کردن، یک ارتباط پنهان بین ریپازیتوری اصلی ( upstream ) و ریپازیتوری Fork شده شما برقرار می‌شود. این ارتباط برای همگام‌سازی (Sync) تغییرات پروژه اصلی با Fork شما بسیار حیاتی است.

چگونه Fork خود را با پروژه اصلی به روز (Sync) کنیم؟

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

۱. تنظیم Remote اصلی در Git محلی شما

ابتدا باید به Git روی کامپیوتر خودتان بگویید که ریپازیتوری اصلی کجاست.

# ابتدا پروژه را Clone کنید (اگر قبلاً این کار را نکرده‌اید)
git clone https://github.com/YOUR-USERNAME/FORKED-REPO.git

# به دایرکتوری پروژه بروید
cd FORKED-REPO

# یک remote جدید با نام 'upstream' اضافه کنید که به ریپازیتوری اصلی اشاره کند
git remote add upstream https://github.com/ORIGINAL-OWNER/ORIGINAL-REPO.git

# از درست اضافه شدن remoteها مطمئن شوید
git remote -v
# باید خروجی زیر را ببینید:
# origin    https://github.com/YOUR-USERNAME/FORKED-REPO.git (fetch)
# origin    https://github.com/YOUR-USERNAME/FORKED-REPO.git (push)
# upstream  https://github.com/ORIGINAL-OWNER/ORIGINAL-REPO.git (fetch)
# upstream  https://github.com/ORIGINAL-OWNER/ORIGINAL-REPO.git (push)

۲. همگام‌سازی (Fetch و Merge)

حالا می‌توانید تغییرات پروژه اصلی را دریافت و با Fork خودتان ادغام کنید.

# Fetch کردن تمام تغییرات از ریپازیتوری اصلی
git fetch upstream

# سوئیچ به شاخه اصلی (main یا master) خودتان
git checkout main

# ادغام (Merge) تغییرات شاخه اصلی upstream با شاخه اصلی شما
git merge upstream/main

۳. Push تغییرات به Fork خودتان روی گیت‌هاب

در نهایت، تغییرات همگام‌سازی شده را به ریپازیتوری Fork شده خودتان روی گیت‌هاب Push کنید.

git push origin main

💡 نکات کلیدی و بهترین practicesها

  • همیشه قبل از شروع کار روی یک ویژگی جدید، Fork خود را با پروژه اصلی Sync کنید. این کار از بروز تعارضات (Merge Conflicts) پیچیده در آینده جلوگیری می‌کند.
  • برای هر ویژگی یا باگfix یک Branch جدید ایجاد کنید. این کار مدیریت تغییرات و ارسال Pull Request را بسیار ساده‌تر می‌کند.
  • در توضیح Pull Request خود کاملاً شفاف باشید. توضیح دهید که چه تغییراتی داده‌اید و چرا این تغییرات لازم بوده است.
  • پروژه‌های Fork شده شما عمومی هستند (مگر اینکه حساب GitHub شما حرفه‌ای باشد) و دیگران می‌توانند آنها را ببینند و از آنها یاد بگیرند.

جمع‌بندی نهایی: Fork یک ابزار ضروری برای همکاری در جامعه متن‌باز است. این مکانیسم به هر کسی اجازه می‌دهد به راحتی در پروژه‌ها مشارکت کند، بدون اینکه نیاز باشد به تیم اصلی دسترسی مستقیم داشته باشد.

…..

دیگر موضوعات مرتبط با گیت هاب

  1. Fork در گیت هاب چیست؟
  2. ساخت فایل readme در گیت هاب
  3. استفاده از هوش مصنوعی در گیت هاب
  4. Git repository چیست؟
  5. نصب گیت هاب روی ویندوز
  6. دانلود گیت هاب برای اندروید
  7. دانلود ترموکس از گیت هاب
  8. اتصال گیت به گیت هاب
  9. نحوه استفاده از کد های گیت هاب
  10. حذف ریپازیتوری در گیت‌ هاب
  11. ورود به گیت هاب
  12. ساخت اکانت گیت هاب
  13. دانلود پروژه از گیت هاب
  14. چگونه در گیت هاب سرچ کنیم؟
  15. اجرای کدهای گیت هاب
  16. چگونه در گیت هاب کد بنویسیم؟
  17. چگونه کد خود را در گیت هاب بگذاریم؟
  18. ساخت پوشه در گیت هاب
  19. تغییر نام ریپازیتوری در گیت هاب
  20. تا چند تا ریپازیتوری میشه در گیت هاب ثبت کرد؟
  21. تا چند تا پروژه میشه در گیت هاب ثبت کرد؟
  22. گیت هاب چقدر حجم آپلود میده ؟
  23. روش آپلود پروژه zip در گیت هاب

….

هرچه بیشتر بدانید بهتر است🔸⚡❔❕

تِندایو پرسش تلفن همراه

کی تو ایران میتونیم آیفون 17 بخریم؟

تِندایو پرسش وردپرس

دلیل عدم دسترسی به سایت gstatic.com

تِندایو پرسش وردپرس

خطای ریکپچا grecaptcha is not defined

تِندایو پرسش ارز دیجیتال پرسش امنیت

چرا در متاتریدر سفارش ثبت نمیشه

تِندایو پرسش امنیت

دستورات پایه در tcpdump

تِندایو پرسش نرم افزار

مشکل راست به چپ نوشتن در فتوشاپ

تِندایو پرسش آی تی پرسش فناوری

مقایسه بازار کار مهندسی صنایع و مهندسی پلیمر

تِندایو پرسش امنیت

دانلود و نصب Nmap
tendaiwo

تِندایو، پرسش از دنیای آی تی

خیلی سوالات زیادی داریم که باید به همه آنها پاسخ داده شود.سوالاتی بسیاری در زمینه نرم افزار، سخت افزار،سایت، سئو، برنامه نویسی و ... که تِندایو جوابشان را میداند.

"تندایو" (Tendaiwo) که به معنی "حرکت به سوی پیشرفت" در زبان شونا، یکی از زبان‌های محلی زیمبابوه است، یکی از اسامی آفریقایی با معنی بسیار جالب است. این نام، نشان دهنده روحیه‌ی پیشرفت، بهبود و تلاش در زندگی است.با بیشتر دانستن، تلاش کنید و به خواسته هایتان برسید.

شما هم میتوانید سوالتان را بپرسید تا پس از پاسخ دهی توسط تندایو در دسته موردنظر ثبت شود.برای ورود به بخش اصلی میتوانید بر روی دکمه زیر کلیک کنید.

تِندایو، پرسش از دنیای آی تی

آیا این صفحه برای شما مفید بود؟

بله
نه اصلا
از اینکه بازخورد خود را در اختیار ما گذاشته اید متشکریم. تا بعد 🙂

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *