Skip to content

چگونه فورک خود را تنظیم کنیم تا با ریپوی اصلی سینک باشد

Nima Bastani edited this page Jun 11, 2019 · 6 revisions

وقتی از گیت در کار گروهی استفاده می شود، اصولا تمامی کالابریتور ها یک فورک از کد مخزن upstream بر روی فضای کاری خود ایجاد میکنند

git clone https://github.com/iran-react-community/docs.git

نکته ای که در ادامه حائز اهمیت است، اطمینان از سینک بودن همیشگی با ریپوزیتوری اصلی در هر مرحله کار بر روی برنچ هایی است که در اختیار دیگران نیز قرار دارد.

هر شخصی در یک اجتماع اُپن سورس مسئول عملیات و مراقبت های خویش برای آسیب نرسندن به محیط مشارکتیست

برای اطمینان ازاین موضوع که در صورت رعایت نشدن برنچینگ را کاملا با شکست مواجه میکند چرا که نسخه local از فورک شما از سابقه فعالیت های شما بر روی آن ساخته شده، و این در حالیست که برخی از این کامیت ها در ریفرنس های درختچه remote همان برنچ وجود ندارد. راهکار پیش رو را برای اطمینان از سینک بودن پیش ار هر بار کار بر روی مخازنی که به صورت گروهی مدیریت میشود پیشنهاد مینمایم:

با اجرای این کامند بلافاصله بعد از فورک ریپوزیتوری

git remote add upstream https://github.com/iran-react-community/docs.git

میتوانیم از عملکرد صحیح دستور زیر مطمئن شویم، چرا که اگر upstream به مخزن اصلی که ریپو را از آن فورک کردیم اشاره نکند، با اجرای دستور fetch ما تنها مخزن local خود را با fork خودمان سینک کرده ایم ولی نیت ما برای همکاری با پروژه های مشارکتی خدشه وارد نکردن به درخت سابقه برنچ هاست.

git checkout master

git fetch upstream

در نهایت اگر از صحت عملیات میخواهید مطمئن باشید دستور زیر را هم اجرا کنیم تا local با upstream یکسان شود

git rebase upstream/master

در نهایت برای حذف برنچهای اضافه که احتمالا در مسیر کار خود ایجاد کرده اید و همسان سازی کامل با upstreap

git remote prune origin