یکی از مشکلاتی که ممکن است در فرآیند استفاده از Git برای مدیریت کدها و پروژهها به وجود بیاید، مشکل "non-fast-forward" است. این مشکل زمانی پیش میآید که شما تلاش میکنید تغییراتی را به مخزن ریموت خود ارسال کنید و تاریخچههای مخزن محلی و مخزن ریموت با یکدیگر سازگار نیستند.
مشکل خطای دریافتی از گیت در استفاده از دستور زیر:
git push origin main
به عبارت دقیقتر، وقتی شما تغییراتی را در مخزن محلی خود اعمال کرده و سپس تلاش میکنید تا این تغییرات را به مخزن ریموت ارسال کنید، ممکن است با پیام خطای "non-fast-forward" مواجه شوید. این پیام به معنای این است که تاریخچههای دو شاخه (شاخه محلی و شاخه ریموت) با یکدیگر سازگار نیستند و ادغام این تغییرات به صورت معمولی امکانپذیر نیست.
راه حل:
برای حل این مشکل و ادغام تاریخچههای دو شاخه، میتوانید به مراحل زیر عمل کنید:
git pull origin main --allow-unrelated-histories
2. ارسال تغییرات محلی: حالا که تغییرات مخزن محلی و مخزن ریموت ادغام شدهاند، میتوانید تغییرات خود را به مخزن ریموت ارسال کنید:
git push origin main
3. بررسی تغییرات در مخزن ریموت: بعد از ارسال تغییرات، مطمئن شوید که تغییرات شما به درستی به مخزن ریموت اضافه شدهاند.
مشکل "non-fast-forward" در Git به دلیل تفاوتهای در تاریخچههای دو شاخه ایجاد میشود. با اجرای مراحل فوق و ادغام تغییرات، میتوانید این مشکل را حل کنید و تغییرات خود را به مخزن ریموت ارسال کنید. این روش به شما امکان میدهد تا با دیگر توسعهدهندگان به راحتی کدها را به اشتراک بگذارید و همکاری کنید.
برای توضیحات بیشتر بخوانید: Stack Overflow - What does "non-fast-forward" mean in Git?