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

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

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

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

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

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

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

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

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

پیشنهاد می‌کنیم بخوانید:  مدیریت متغیرهای محیط در Node.js با dotenv استقرار یک برنامه به توسعه دهندگان نیاز دارد که در مورد روش پیکربندی آن فکر و توجه کنند. بسیاری از برنامه ها قبل از اینکه در محیط تولید مستقر شوند در یک محیط توسعه مستقر می شوند. ما باید اطمینان حاصل کنیم که هر محیطی به درستی پیکربندی شده است، اگر برنامه تولید ما از ما استفاده کند ممکن است فاجعه بار باشد.

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

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

برای این کار باید برنامه را اجرا کنید 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 فرمان

پیشنهاد می‌کنیم بخوانید:  Remote Branch در Git چیست؟ نحوه بررسی شاخه های راه دور از GitHub

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

git stash

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

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

git stash pop

نتیجه

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

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