Я пытаюсь переключить ветки в git, но получаю следующее сообщение об ошибке:
error: you need to resolve your current index first
Я использую git под xcode4
git status
# On branch DateCode
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: Whereami.xcodeproj/project.xcworkspace/xcuserdatauser.xcuserdatad/UserInterfaceState.xcuserstate
#
no changes added to commit (use "git add" and/or "git commit -a")
Frappuccinos-MacBook-Pro:whereami
git reset {{currentBranchName}}
тогдаgit checkout .
решит вашу проблемуОтветы:
Попробуйте это, если вам не нужны какие-либо слияния, перечисленные в git status:
Это сбрасывает индекс и обновляет файлы в рабочем дереве, которые различаются между
<commit>
иHEAD
, но сохраняют те, которые различаются между индексом и рабочим деревом (т. Е. Имеют изменения, которые не были добавлены).Если файл, который отличается от
<commit>
индекса, содержит неустановленные изменения - сброс прерывается.Подробнее об этом - https://www.techpurohit.com/list-some-useful-git-commands и ссылка на документ - https://git-scm.com/docs/git-reset
источник
В результате вы
both modified
получите сообщение оgit status
конфликтах, возникших в результате слияния. git не позволяет вам менять ветку, пока вы не разрешите эти конфликты. Если вы отредактируете этот файл, вы должны увидеть в нем маркеры конфликтов - в руководстве по git есть руководство по разрешению этих конфликтов . (Поскольку kernel.org в настоящее время не работает, вы можете найти это руководство здесь .)В качестве альтернативы, если вы считаете, что слияние было ошибкой, вы можете отменить его с помощью:
git reset --merge
источник
Если вас не интересуют изменения, которые git называет выдающимися, вы можете выполнить принудительную проверку.
git checkout -f {{insert your branch name here}}
источник
git reset --merge
также не удалась). Ноcheckout -f
работал отлично.Я получил это сообщение, когда обновлял новые файлы удаленно, и индекс вышел из строя. Пытался исправить индекс, но разрешение через Xcode 4.5, GitHub.app (103) и GitX.app (0.7.1) не удалось. Итак, я сделал это:
который работал в обход индекса git.
Два сообщения в блоге, которые помогли мне разобраться в Git и Xcode:
источник
вы можете сбросить ветку с помощью HEAD
затем получить ветки и удалить ветки, которые не удалены от локального,
источник
Перед переключением ветки необходимо зафиксировать или уничтожить все несохраненные изменения.
Git не позволит вам переключить ветку, если это означает, что несохраненные изменения будут удалены.
источник
git status
вывод указывают, что это не просто изменения в рабочем дереве, которые могут быть потеряны при изменении ветки - они указывают на то, что слияние не удалось, и конфликты должны быть разрешены в индексе.Поскольку файл изменен обоими, либо вам нужно добавить его,
Или, если вы хотите игнорировать изменения года, сделайте
После этого просто переключите ветку - это должно сработать.
источник