Как исправить ошибку Git: сначала необходимо разрешить текущий индекс



Попробуйте наш инструмент устранения неполадок

Ошибка ' Сначала вам нужно разрешить текущий индекс ”Происходит в Git и означает, что существует конфликт слияния, и, если вы не разрешите конфликт, вам не будет разрешено оформить заказ в другую ветку. Это сообщение об ошибке также означает, что слияние не удалось или есть конфликты с файлами.



Ошибка: сначала необходимо разрешить текущий индекс в системе управления версиями Git.

Ошибка: сначала необходимо разрешить текущий индекс



Что это за файлы, слияния и конфликты? Эти термины будут вам неизвестны, если вы новичок в использовании Git. Git - это платформа управления версиями, которая позволяет нескольким людям одновременно работать с файлами и переносить свою локальную копию кода в ту, которая хранится в облаке. Таким образом, если вы измените какой-то загруженный (или уже отправленный) код и снова отправите его в облако, изменения будут перезаписаны в облаке вашей локальной копией.



В Git есть концепция ветвей. Есть главная ветка, и от нее отходят несколько других веток. Эта ошибка особенно возникает, если вы переключаетесь с одной ветки на другую (используя checkout) и в файлах текущей ветки есть конфликты. Если они не решены, вы не сможете переключать ветки.

Что вызывает ошибку Git: сначала вам нужно разрешить текущий индекс?

Как упоминалось ранее, причины этой ошибки весьма ограничены. Вы столкнетесь с этой ошибкой, потому что:

  • К слияние не удалось и вам необходимо решить конфликт слияния, прежде чем переходить к другим задачам.
  • Есть конфликты в файлах в вашей текущей (или целевой ветке), и из-за этих конфликтов вы не сможете выполнить извлечение из ветки или отправить код.

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



Решение 1. Разрешение конфликта слияния

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

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

Пример:

$ git add file.txt $ git commit

Вы можете добавить свой личный комментарий во время фиксации. Пример:

$ git commit –m «Это репозиторий Appuals Git»
  1. После того как вы разрешили конфликт, попробуйте выйти из существующей ветки и посмотреть, устранена ли проблема.

Решение 2. Отмена слияния

Есть множество случаев, когда вы объединяете ветки и делаете беспорядок. Из-за всех конфликтов и неразберихи проект превратился в беспорядок, и члены вашей команды обвиняют вас в этом. В этом случае вам необходимо вернуть предыдущую фиксацию (фиксация слияния) . Это полностью отменит слияние и вернет весь проект в состояние, когда вы не выполняли никаких слияний. Это может быть вам палочкой-выручалочкой, если вы сделали что-то не подлежащее ремонту.

Чтобы отменить слияние введите следующее:

$ git reset --- объединить

Вышеупомянутая команда сбросит индекс и обновит файлы в рабочем дереве, которые отличаются между «фиксацией» и «заголовком». Однако он сохранит те файлы, которые различаются между индексным и рабочим деревом.

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

$ git revert HEAD

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

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>
3 минуты на чтение