از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
کشش اجباری در GitHub – نحوه بازنویسی تغییرات محلی با Git
سرفصلهای مطلب
هنگام کار بر روی یک پروژه به عنوان بخشی از یک تیم، ممکن است یک پیام خطایی دریافت کنید که به شما می گوید نمی توانید آن را اجرا کنید. 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 و نحوه ذخیره تغییرات محلی در انبار در صورت نیاز.
با تشکر از شما برای خواندن، و کد نویسی مبارک!
منتشر شده در 1402-12-26 16:47:04