نحوه رفع خطای Git Merge

مفهوم شاخه ها با عملکرد Git مرتبط است. یک شاخه اصلی وجود دارد که به دنبال آن چندین شاخه از آن منشعب می شوند. اگر از یک شاخه به شعبه دیگر جابجا شوید یا اگر با فایل های شاخه تداخلی وجود داشته باشد، با پیغام خطا روبرو می شوید، خطای Git: ابتدا باید فهرست فعلی خود را حل کنید(Git error: you need to resolve your current index first) . تا زمانی که خطا برطرف نشود، نمی‌توانید شاخه‌ها را در Git تغییر دهید . نیازی به وحشت نیست زیرا امروز می خواهیم خطای Git Merge(Git Merge Error) را برطرف کنیم .

نحوه رفع خطای Git Merge

Git و ویژگی های آن(Git and its Features)

Git کد یا نرم افزاری است که به شما امکان می دهد تغییرات را در هر گروهی از فایل ها نظارت کنید. معمولاً برای هماهنگ کردن کار بین برنامه نویسان استفاده می شود. برخی از ویژگی های قابل توجه Git عبارتند از:

  • سرعت(Speed)
  • امنیت(Data Security) و یکپارچگی داده ها
  • کمک(Assistance) برای فرآیندهای توزیع شده و غیر خطی

به عبارت ساده تر، Git یک سیستم مدیریتی است که رایگان و منبع باز است(free and open-source) . با کمک مشارکت‌کنندگان مختلف، پروژه‌ها و فایل‌ها را همانطور که طی مدتی اصلاح می‌شوند، پیگیری می‌کند. علاوه بر این، Git به شما امکان می دهد در صورت بروز خطاهایی مانند خطای ادغام Git به حالت یا نسخه قبلی برگردید .(roll back to an earlier state)

می‌توانید Git را برای سیستم‌های رایانه‌ای Windows ، macOS یا Linux دانلود کنید.( Linux)

نحوه رفع خطای Git Merge: ابتدا باید ایندکس فعلی خود را حل کنید(How to Fix Git Merge Error: You need to resolve your current index first)

خطای Git Current Index(Git Current Index) شما را از انتقال به شعبه دیگر به دلیل تداخل ادغام منع می کند. گاهی اوقات تداخل در فایل‌های خاص می‌تواند باعث ظاهر شدن این خطا شود، اما بیشتر زمانی ظاهر می‌شود که در ادغام مشکلی(failure in the merge) وجود داشته باشد. همچنین ممکن است زمانی رخ دهد که از دستورات برای کشیدن(pull ) یا پرداخت استفاده می کنید.(checkout )

خطا: ابتدا باید شاخص فعلی خود را حل کنید

دو دلیل شناخته شده برای خطای Git Current Index وجود دارد:(Git Current Index)

  • عدم موفقیت در ادغام -(Merge Failure – ) باعث تضاد ادغام می شود که برای انتقال آرام به شاخه بعدی باید حل شود.
  • تضاد در فایل‌ها –(Conflict in Files – ) وقتی در شاخه خاصی که از آن استفاده می‌کنید چند فایل متناقض وجود داشته باشد، شما را از بررسی یا فشار دادن کد منع می‌کند.

انواع تضادهای Git Merge(Types of Git Merge Conflicts)

ممکن است در شرایط زیر با خطای Git Merge(Git Merge Error) مواجه شوید :

  • شروع فرآیند ادغام: فرآیند(Starting the Merge Process: ) ادغام زمانی که تغییری در ناحیه مرحله دایرکتوری کاری(change in the stage area of the working directory) برای پروژه فعلی ایجاد شود، شروع نمی شود. ابتدا باید اقدامات معلق را تثبیت و تکمیل کنید.
  • در طول فرآیند ادغام:(During the Merge Process: ) هنگامی که بین شعبه در حال ادغام و شعبه فعلی یا محلی مشکلی(roblem between the branch being merged and the current or local branch) وجود دارد ، فرآیند ادغام کامل نخواهد شد. در این حالت، Git سعی می کند خطا را به تنهایی برطرف کند. با این حال، در برخی موارد، ممکن است لازم باشد همان را اصلاح کنید.

مراحل مقدماتی:(Preparatory Steps:)

1. قبل از اجرای دستورات برای رفع خطای ادغام Git ، باید مطمئن شوید که هیچ یک از کاربران دیگر(none of the other users) فایل های ادغام به آنها دسترسی ندارند یا تغییری در آنها ایجاد نمی کنند.

2. توصیه می شود قبل از خروج از آن شاخه یا قبل از ادغام شاخه فعلی با شاخه سر، تمام تغییرات را با استفاده از دستور commit ذخیره کنید . (save all the changes)از دستورات داده شده برای commit استفاده کنید:

$ git add
$ git commit -m

توجه:(Note:) به شما توصیه می کنیم واژه نامه(Glossary) Common Git(Common Git) Terms & Commands که در انتهای این مقاله ارائه شده است را مطالعه کنید.

Git Merge.  نحوه رفع خطای Git Merge: ابتدا باید ایندکس فعلی خود را حل کنید

اکنون، اجازه دهید با حل کردن خطای Git Current Index(Git Current Index Error) یا خطای Git Merge(Git Merge Error) شروع کنیم .

روش 1: بازنشانی Git Merge(Method 1: Reset Git Merge)

برگرداندن ادغام به شما کمک می کند زمانی که هیچ ادغامی انجام نشد به موقعیت اولیه برسید. بنابراین، دستورات داده شده را در ویرایشگر کد اجرا کنید:

1. $ git reset –merge را تایپ کنید و Enter را بزنید.(Enter.)

2. اگر این کار نکرد، از دستور $ git reset –hard HEAD استفاده کنید و Enter را بزنید .

با این کار باید Git Reset ادغام شود و بنابراین، خطای ادغام Git حل شود.(Git)

روش 2: ادغام شاخه فعلی یا فعلی با شاخه اصلی(Method 2: Merge Present or Current Branch with Head Branch)

دستورات زیر را در ویرایشگر یادداشت اجرا کنید تا به شاخه فعلی بروید و خطای Git Merge(Git Merge Error) را برطرف کنید :

1. git checkout <> را تایپ کنید و سپس کلید Enter را فشار دهید .

2. برای اجرای یک commit git merge -s ours master را تایپ کنید.(git merge -s ours master )

توجه:(Note:) کد زیر همه چیز را از شاخه head/master رد می کند و داده ها را فقط از شعبه فعلی شما ذخیره می کند.

3. سپس git checkout master را اجرا کنید تا به شاخه head برگردید.

4. در نهایت، از git merge <> برای ادغام هر دو حساب استفاده کنید.

با انجام مراحل این روش هر دو شاخه ادغام می شوند و خطای شاخص فعلی Git برطرف می شود. (Git)اگر نه، راه حل بعدی را امتحان کنید.

همچنین بخوانید: (Also Read:) نمایش یا پنهان کردن تضادهای ادغام پوشه در ویندوز 10(Show or Hide Folder Merge Conflicts in Windows 10)

روش 3: تضاد ادغام را حل کنید(Method 3: Resolve Merge Conflict)

فایل های دارای تضاد را پیدا کنید و همه مشکلات را حل کنید. حل تضاد ادغام(Merge) بخش مهمی از خلاص شدن از شر خطای شاخص فعلی Git را تشکیل می دهد.(Git)

1. ابتدا فایل های مشکل ساز(trouble-causing) را به صورت زیر شناسایی کنید:

  • دستورات زیر را در ویرایشگر کد تایپ کنید:   $ vim /path/to/file_with_conflict
  • کلید Enter( Enter) را فشار دهید تا اجرا شود.

2. اکنون فایل ها را به صورت زیر commit کنید:

  • $ git commit -a -m ‘commit message’ تایپ کنید
  • Enter را بزنید(Enter) .

پس از انجام مراحل زیر سعی کنید از(check out) شعبه خارج شوید و ببینید آیا کار کرده است یا خیر.

روش 4: شاخه ایجاد تعارض را حذف کنید(Method 4: Delete Conflict Causing Branch)

(Delete)شاخه ای که درگیری های زیادی دارد را حذف کنید و از نو شروع کنید. وقتی هیچ چیز دیگری کار نمی کند، همیشه ایده خوبی است که فایل های متناقض را حذف کنید تا خطای ادغام Git(Git Merge Error) را به شرح زیر برطرف کنید:

1. git checkout -f <> را در ویرایشگر کد تایپ کنید.

2. Enter را بزنید.

همچنین بخوانید: (Also Read:) چندین حساب Google Drive و Google Photos را ادغام کنید(Merge Multiple Google Drive & Google Photos Accounts)

واژه نامه: Common Git Commands(Glossary: Common Git Commands)

فهرست زیر از دستورات Git به شما یک ایده خلاصه در مورد نقش آن در حل خطای Git Merge می دهد: ابتدا باید ایندکس فعلی خود را حل کنید.

1. git log –merge: این دستور لیستی از تمام دستورات پشت درگیری Merge را در سیستم شما ارائه می دهد.(Merge)

2. git diff : با استفاده از دستور git diff می توانید تفاوت بین مخازن حالت ها یا فایل ها را شناسایی کنید.

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

4. git reset –mixed: با استفاده از آن می توان تغییرات دایرکتوری کاری و تغییرات ناحیه مرحله بندی را لغو کرد.

5. git merge –abort: اگر می خواهید قبل از ادغام به مرحله بازگردید، می توانید از دستور Git ، git merge –abort استفاده کنید. این همچنین به شما کمک می کند تا از فرآیند ادغام خارج شوید.

6. git reset: اگر می خواهید فایل های دارای تضاد را به حالت اولیه بازنشانی کنید، می توانید از این دستور git reset استفاده کنید. این دستور معمولا در زمان تضاد ادغام استفاده می شود.

واژه نامه: اصطلاحات رایج Git(Glossary: Common Git Terms)

قبل از رفع خطای Git Merge Error(Git Merge Error) این اصطلاحات را بخوانید تا با آنها آشنا شوید .

1. Checkout- این دستور یا عبارت به کاربر در تعویض شاخه کمک می کند. اما در حین انجام این کار باید مراقب تداخل فایل ها باشید.

2. Fetch - می‌توانید فایل‌ها را از یک شعبه خاص به ایستگاه کاری خود بارگیری و انتقال دهید هنگام انجام واکشی Git .

3. Index- به آن بخش Working یا Staging در Git گفته می شود. فایل‌های اصلاح‌شده(Modified) ، اضافه‌شده و حذف‌شده در فهرست ذخیره می‌شوند تا زمانی که برای ارسال فایل‌ها آماده شوید.

4. ادغام(Merge) - انتقال تغییرات از یک شاخه و ترکیب آنها در یک شاخه دیگر (به طور سنتی اصلی).

5. HEAD - یک هد(head ) رزرو شده (به نام مرجع) است که در طول commit استفاده می شود.

توصیه شده:(Recommended:)

امیدواریم راهنمای ما کمک کرده باشد و توانسته باشید خطای Git Merge را حل کنید: ابتدا باید فهرست فعلی خود را حل کنید( Git Merge error: you need to resolve your current index first) . اگر سوالی دارید در قسمت نظرات مطرح کنید.



About the author

من یک توسعه دهنده آیفون و macOS هستم که در هر دو ویندوز 11/10 و جدیدترین پلتفرم iOS اپل تجربه دارم. با بیش از 10 سال تجربه، درک عمیقی از نحوه ایجاد و مدیریت فایل ها در هر دو سیستم عامل دارم. مهارت‌های من فراتر از ساختن فایل‌ها است - من همچنین دانش قوی درباره محصولات اپل، ویژگی‌های آنها و نحوه استفاده از آنها دارم.



Related posts