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

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

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

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

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

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

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

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

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

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

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

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

Прикладом є:

$ git add file.txt $ git коміт

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

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

Рішення 2. Скасування об’єднання

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

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

$ git скинути -– об’єднати

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

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

$ git повернути ГОЛОВУ

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

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>