Git Fork و Git Clone: تفاوت و چرا مهم است؟

“چنگال“و”شبیه“دو اصطلاحی هستند که معمولاً در سیستمهای کنترل نسخه مانند Git برای ایجاد کپی از یک مخزن استفاده میشوند. متأسفانه، هر روز میبینم که مردم آنها را با هم مخلوط میکنند.
در حالی که آنها شباهت هایی دارند، اما یک چیز نیستند و اهداف جداگانه ای دارند. هدف این مقاله این است که تمایز بین آنها را روشن کند زیرا برای همکاری موثر و مدیریت مخزن بسیار مهم است.
گیت فورک: چه کاری انجام می دهد؟
هنگامی که یک Repo را فورک می کنید، یک کپی مستقل از آن را در یک پلتفرم میزبانی مانند GitHub ایجاد می کنید. مخزن فورک شده را می توان مستقل از نسخه اصلی تغییر داد.
به همین دلیل است که Forking در توسعه منبع باز رایج است. این به مشارکتکنندگان علاقهمند اجازه میدهد تا بدون تأثیر مستقیم بر پایگاه کد اصلی، تغییراتی در پروژه ایجاد کنند.
با این حال، توجه داشته باشید که مخزن فورک شده برای بهروزرسانی بهروزرسانیها را به پایگاه کد اصلی متصل میکند، اما اختیاری است.
چه زمانی یک پروژه را فورک کنیم:
- مشارکت در یک پروژه منبع باز:
اگر میخواهید در یک پروژه منبع باز میزبانی شده در GitHub مشارکت کنید، فورکینگ به شما امکان میدهد کپی خود را از پروژه ایجاد کنید. می توانید با ارسال یک درخواست کشش، تغییراتی ایجاد کنید، آزمایش کنید و آن تغییرات را به پروژه اصلی پیشنهاد دهید.
- حفظ نسخه شخصی:
یک مخزن ایجاد کنید تا نسخه خود را از یک پروژه خاص ایجاد کنید که می خواهید آن را به طور گسترده تغییر دهید یا برای نیازهای خاص خود سفارشی کنید. این به شما این امکان را می دهد که یک پایگاه کد مستقل داشته باشید که بتوانید آن را جدا از پروژه اصلی مدیریت کنید.
- ساخت یک پروژه مشتق:
فورکینگ زمانی مفید است که می خواهید یک پروژه جدید بر اساس پروژه موجود بسازید. با فورک کردن، می توانید با یک پایگاه کد ایجاد شده شروع کنید و آن را برای ایجاد یک پروژه جدید تغییر دهید و در عین حال ارتباط با پروژه اصلی را حفظ کنید.
Git Clone: چه کاری انجام می دهد؟
شبیه سازی فرآیند ایجاد یک کپی محلی از یک مخزن در دستگاه شما است. هنگامی که یک مخزن را شبیه سازی می کنید، یک کپی دقیق از کل مخزن، شامل کل تاریخچه، شاخه ها و تعهدات آن ایجاد می کنید.
می توانید تغییراتی ایجاد کنید، شاخه های جدیدی ایجاد کنید و تغییرات خود را به مخزن راه دور برگردانید
برخلاف Forked Repository، مخزن کلون شده مستقل از مخزن اصلی است و تغییرات ایجاد شده در کلون بر مخزن اصلی تأثیر نمی گذارد، مگر اینکه شما به صراحت آن تغییرات را اعمال کنید.
چه زمانی باید کلون کنید:
اگر میخواهید روی یک مخزن به صورت محلی روی دستگاه خود بدون مشارکت در پروژه اصلی کار کنید، میتوانید مخزن را شبیهسازی کنید.
این به شما این امکان را می دهد که یک نسخه کامل از تاریخچه پروژه داشته باشید و به طور مستقل روی آن کار کنید.
- همکاری با یک تیم:
شبیه سازی معمولاً زمانی استفاده می شود که چندین عضو تیم به طور همزمان روی یک پروژه کار کنند. هر یک از اعضای تیم میتواند مخزن را در ماشینهای محلی خود شبیهسازی کند، تغییراتی ایجاد کند و آن تغییرات را به مخزن راه دور برگرداند تا دیگران ببینند و در آن گنجانده شوند.
شبیه سازی یک مخزن به شما این امکان را می دهد که یک نسخه محلی از پایگاه کد داشته باشید و به شما امکان می دهد حتی زمانی که اتصال اینترنتی ندارید، روی پروژه کار کنید. شما می توانید تغییرات را به صورت محلی انجام دهید و پس از دسترسی مجدد به اینترنت، آنها را به مخزن راه دور فشار دهید.
Forking و Cloning اهداف مختلفی را دنبال می کنند
Forking معمولاً برای توسعه مشارکتی استفاده میشود و به شما امکان میدهد یک کپی مستقل از یک مخزن ایجاد کنید تا تغییراتی را به پروژه اصلی ارائه دهید.
از سوی دیگر، شبیه سازی برای ایجاد یک کپی محلی از یک مخزن در دستگاه شما استفاده می شود، که به شما امکان می دهد مستقل کار کنید و تغییراتی را بدون تأثیر مستقیم بر مخزن اصلی یا همکاری با دیگران ایجاد کنید.