Как исправить ошибку 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 –merge 

Приведенная выше команда сбросит индекс и обновит файлы в рабочем дереве, которые различаются между «commit» и «head». Тем не менее, он будет хранить те файлы, которые отличаются между индексом и рабочим деревом.

Вы также можете попробовать вернуть ГОЛОВКУ, используя следующую команду:

 $ git revert HEAD 

Если вы хотите указать точный коммит слияния, который вы хотите отменить, вы можете использовать ту же команду возврата, но указать дополнительные параметры. Будет использован хэш SHA1 коммита слияния. -M, за которым следует 1, указывает, что мы хотим сохранить родительскую сторону слияния (ветвь, в которую мы сливаемся). Результатом этого возврата является то, что Git создаст новый коммит, который откатывает изменения после слияния.

 $ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

Интересные статьи