حل مشکل عدم دسترسی (ارور ۴۰۳) در گیت هاب بعد از فورک کردن از مخزن اصلی

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

حالا داستان چیه ؟ احتمالا شما هم با خوندن تیتر این نوشته “حل مشکل عدم دسترسی (ارور ۴۰۳) در گیت هاب بعد از فورک کردن از مخزن اصلی” گیج بشین که یعنی چی ؟ اصلا مگه گیت هاب برروی ایران بستس که باید ارور ۴۰۳ بهمون نمایش بده ؟ و ….

داستان از جایی شروع شد که من تصمیم گرفتم یه قالب انگلیسی که با jekyll ساخته شده رو فارسیش کنم .

برای شروع از گیت هاب قالب مدنظرم یک fork ایجاد کردم داخل گیت هاب خودم و بعد هم یک clone از روی اون ساختم داخل کامپیوتر خودم، تغییراتی که لازم بود رو انجام دادم .

بعد که خواستم تغییرات رو روی قالب fork شده اعمال کنم ارور زیر رو بهم نمایش میداد .

remote: Permission to inded/Jekyll_modern-blog.git denied to hadivarp.
fatal: unable to access 'https://github.com/inded/Jekyll_modern-blog.git/': The requested URL returned error: 403

اولش فکر میکردم که لابد جز تغییرات اخیر گیت هاب که برای کاربرای ایرانی ایجاد شده یکیش هم این مورده و دیگه هم نمیشه کاریش کرد . هرچی بیشتر گوگل میکردم آدمای بیشتری رو پیدا میکردم که مشکل مشابه داشتن و درمجموع دو روش برای حل این مسئله مطرح میکردن .

راه اول از صورت مسئله من کاملا به دور بود و برای کسانی بود که مشکل احرازهویت داشتن و گیت هاب این ارور رو بهشون نمایش میداد اما گروه دوم مثل من بودن .

راه حل چیه : توی دومرحله به جواب میرسیم .

مرحله اول : پیکربندی ریموت برای فورک کردن :

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

$ git remote -v

و چیزی که باید ببینین دستورات زیر هستن .

> origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
> origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

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

$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

و بعد از این که تایید کردین مخزن جدیدی که برای این کار ایجاد کردین بصورت زیر نشون داده میشه .

$ git remote -v
> origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
> origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
> upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
> upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

مرحله دوم : تعیین ادرس ریموت اصلی

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

git remote set-url origin <urltoyourfork>

در نهایت حالا میتونین تغییراتی رو که داخل کامپیوتر انجام دادین رو به مخزنی که فورک کردین داخل گیت هاب خودتون بفرستین و از اونجا پول ریکوئست بزنین به مخزن اصلی تا درصورت تایید ، تغییرات شما به مخزن اصلی اضافه بشه .

چنتا نکته مهم :

  • اول از همه اینکه در نظر داشته باشین که حتما برای رسیدن به راه حل سعی کنین که انگلیسی جستجو کنین .
  • منابع رو از اینجا و اینجا میتونین بخونین .

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

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