متن خبر

کشش اجباری در GitHub – نحوه بازنویسی تغییرات محلی با Git

کشش اجباری در GitHub – نحوه بازنویسی تغییرات محلی با Git

اخبارکشش اجباری در GitHub – نحوه بازنویسی تغییرات محلی با Git
شناسهٔ خبر: 267466 -




خبرکاو:

هنگام کار بر روی یک پروژه به عنوان بخشی از یک تیم، ممکن است یک پیام خطایی دریافت کنید که به شما می گوید نمی توانید git pull در مخزن خود اجرا کنید زیرا تغییرات محلی دارید.

چرا این اتفاق می افتد؟

این خطا معمولاً زمانی رخ می دهد که چندین نفر در حال ارائه به روز رسانی برای یک فایل هستند. در اصل، فایل های یکسان با محتوای متفاوت وجود دارد.

ممکن است بخواهید git pull مجبور کنید و تغییرات محلی خود را با تغییرات موجود در مخزن راه دور بازنویسی کنید.

به طور پیش فرض، Git تغییرات را بازنویسی نمی کند. در عوض، به دلایل ایمنی، به شما اطلاع می‌دهد که تغییرات محلی دارید که با تغییرات جدید معرفی‌شده و متعهد به مخزن Git بازنویسی می‌شوند.

در این مقاله، نحوه بازنویسی تغییرات محلی را با جدیدترین آنها از مخزن راه دور یاد خواهید گرفت.

بیایید وارد آن شویم!

چگونه git pull برای بازنویسی تغییرات محلی در Git مجبور کنیم

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

همه تغییرات از راه دور را واکشی کنید

ابتدا، تمام تغییرات اخیر را از مخزن راه دور واکشی کنید.

برای انجام این کار، باید دستور git fetch را مانند زیر اجرا کنید:

 git fetch --all

دستور بالا آخرین به روز رسانی ها را از راه دور دانلود کرده و مخزن محلی شما را با ریموت همگام می کند.

شعبه محلی خود را بازنشانی کنید

سپس دستور git reset --hard را اجرا کنید.

سینتکس کلی این دستور چیزی شبیه به زیر است:

 git reset --hard remote/remote-branch-name

پس ، اگر remote-branch-name main نامیده شود، موارد زیر را بنویسید:

 git reset --hard origin/main

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

گزینه --hard یک هارد ریست را روی شاخه origin/main انجام می دهد.

هر گونه تغییر محلی غیرمتعهد که توسط Git ردیابی شده است را از دست خواهید داد. فایل ها و دایرکتوری های محلی که توسط Git ردیابی نشده اند تحت تأثیر قرار نمی گیرند.

فایل ها و پوشه های ردیابی نشده را حذف کنید

برای حذف فایل ها و دایرکتوری هایی که توسط Git ردیابی نشده اند از دایرکتوری کاری خود، می توانید از دستور git clean استفاده کنید:

 clean -fd

به خاطر داشته باشید که این عمل غیر قابل برگشت است!

کشیدن

در نهایت دستور git pull را اجرا کنید:

 git pull

چگونه git pull اجباری کنیم و تغییرات محلی را در Git ذخیره کنیم

اگر می خواهید ایمن باشید، ممکن است بخواهید تغییرات محلی غیرمتعهد را ذخیره کنید، زیرا پس از اجرای دستور git reset --hard آنها را از دست خواهید داد.

می توانید از دستور git stash برای ذخیره تغییرات محلی غیرمتعهد برای استفاده بعدی استفاده کنید:

 git stash

این دستور تغییرات محلی را در یک ذخیره ذخیره می‌کند و در صورت نیاز می‌توانید پس از fetch ، reset و clean مراحل ذکر شده در بخش قبل، در آینده آنها را اعمال کنید.

برای اعمال مجدد تغییرات ذخیره شده در تاریخ بعدی، از دستور git stash pop استفاده کنید:

 git stash pop

نتیجه

در این مقاله، یاد گرفتید که چگونه git pull برای بازنویسی تغییرات محلی در Git وادار کنید و در صورت نیاز چگونه تغییرات محلی را در یک stash ذخیره کنید.

با تشکر از شما برای خواندن، و کد نویسی مبارک!

برچسب‌ها

ارسال نظر




تبليغات ايهنا تبليغات ايهنا

تمامی حقوق مادی و معنوی این سایت متعلق به خبرکاو است و استفاده از مطالب با ذکر منبع بلامانع است