Як виправити помилку Git: спочатку потрібно вирішити поточний індекс

Помилка " Потрібно спочатку вирішити поточний індекс " виникає в Git і означає, що існує конфлікт злиття, і якщо ви не вирішите конфлікт, вам не дозволять перейти до іншої гілки. Це повідомлення про помилку також означає, що злиття не вдалося або є конфлікти з файлами.

Помилка: спочатку потрібно вирішити поточний індекс

Які всі ці файли, злиття та конфлікти? Ці умови вам будуть невідомі, якщо ви новачок у використанні Git. Git - це платформа контролю версій, яка дозволяє декільком людям працювати над файлами одночасно і пересилати свою локальну копію коду до тієї, що зберігається у хмарі. Таким чином, якщо ви зміните якийсь завантажений (або вже натиснутий) код і знову натисніть його на хмару, зміни будуть перезаписані у хмарі вашою локальною копією.

Git має поняття галузей. Існує головна гілка та кілька інших гілок, що виходять з неї. Ця помилка особливо виникає, якщо ви переходите від однієї гілки до іншої (використовуючи касу) і у файлах поточної гілки виникають конфлікти. Якщо вони не будуть вирішені, ви не зможете перемикати гілки.

Що викликає помилку Git: Вам потрібно спочатку вирішити поточний індекс?

Як і згадувалося раніше, причини цієї помилки досить обмежені. Ви отримаєте цю помилку, оскільки:

  • Злиття не вдалося, і вам потрібно вирішити конфлікт злиття, перш ніж продовжувати роботу з іншими завданнями.
  • У файлах у вашій поточній (або цільовій гілці) є конфлікти, і через ці конфлікти ви не зможете вийти з гілки чи push-коду.

Перш ніж приступити до вирішення проблеми, переконайтеся, що ви маєте належний контроль версій, і перед тим, як вирішити конфлікт, доцільно зупинити інші члени команди від зміни коду.

Рішення 1: Вирішення конфлікту злиття

Якщо ваше злиття не вирішується автоматично Git, воно залишає індекс і робоче дерево у спеціальному стані, що допомагає надати всю інформацію, необхідну для вирішення злиття. Файли, які мають конфлікти, будуть позначені спеціально в індексі, і поки ви не вирішите проблему та не оновите індекс, ви продовжуватимете отримувати це повідомлення про помилку.

  1. Вирішіть усі конфлікти . Перевірте файли, які мають конфлікти, оскільки вони будуть позначені індексом, і внесіть зміни до них відповідно.
  2. Після того як ви вирішите всі існуючі конфлікти, додайте файл та виконайте фіксацію .

Приклад:

 $ git add file.txt $ git commit 

Ви можете додати свій особистий коментар під час вчинення. Приклад:

 $ git commit –m «Це сховище Appuals Git» 
  1. Після того як ви вирішили конфлікт, спробуйте перевірити наявну філію та перевірте, чи виправлена ​​проблема.

Рішення 2: Повернення злиття

Є численні випадки, коли ви зливаєте гілки і псуєте. Через всі конфлікти та плутанини проект зараз безлад, і члени вашої команди звинувачують вас у цьому. У цьому випадку вам доведеться повернути попереднє зобов’язання (злиття) . Це повністю скасує злиття і поверне весь проект до стану, коли ви не зробили жодних зливань. Це може бути рятівником, якщо ви зіпсували речі після ремонту.

Щоб скасувати злиття, введіть наступне:

 $ git reset –міг 

Вищевказана команда скидає індекс та оновить файли в робочому дереві, які відрізняються між "фіксацією" та "головою". Однак він зберігатиме ті файли, які відрізняються між індексом та робочим деревом.

Ви також можете спробувати повернути HEAD за допомогою наступної команди:

 $ git revert HEAD 

Якщо ви хочете вказати точну комісію злиття, яку ви хочете відновити, ви можете використовувати ту саму команду відновлення, але вказати додаткові параметри. Буде використано хеш SHA1 комісії злиття. Значення -m, яке супроводжується 1, вказує на те, що ми хочемо зберегти батьківську сторону злиття (гілку, в яку ми зливаємось). Результатом цього повернення є те, що Git створить нове зобов’язання, яке скасовує зміни злиття.

 $ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

Цікаві Статті