Ich versuche, Zweige in Git zu wechseln, erhalte jedoch die folgende Fehlermeldung:
error: you need to resolve your current index first
Ich benutze Git unter 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}}
danngit checkout .
wird Ihr Problem lösenAntworten:
Versuchen Sie dies, wenn Sie keine der im Git-Status aufgelisteten Zusammenführungen möchten:
Dies setzt den Index zurück und aktualisiert die Dateien im Arbeitsbaum, die sich zwischen
<commit>
undHEAD
unterscheiden, behält jedoch diejenigen bei, die sich zwischen dem Index und dem Arbeitsbaum unterscheiden (dh Änderungen aufweisen, die nicht hinzugefügt wurden).Wenn eine Datei, die sich zwischen
<commit>
dem Index unterscheidet, nicht bereitgestellte Änderungen aufweist, wird das Zurücksetzen abgebrochen.Mehr dazu - https://www.techpurohit.com/list-some-useful-git-commands & Doc Link - https://git-scm.com/docs/git-reset
quelle
Sie landen
both modified
in der Ausgabe von,git status
wenn es Konflikte gab, die durch eine Zusammenführung erzeugt wurden. Mit git können Sie den Zweig erst wechseln, wenn Sie diese Konflikte gelöst haben. Wenn Sie diese Datei bearbeiten, sollten einige Konfliktmarkierungen darin angezeigt werden. Eine Anleitung zur Lösung dieser Konflikte finden Sie im Git-Handbuch . (Da kernel.org derzeit nicht verfügbar ist, finden Sie diese Anleitung stattdessen hier .)Wenn Sie der Meinung sind, dass die Zusammenführung ein Fehler war, können Sie sie alternativ rückgängig machen mit:
git reset --merge
quelle
Wenn Sie sich nicht für die Änderungen interessieren, die laut Git ausstehen, können Sie eine Force-Prüfung durchführen.
git checkout -f {{insert your branch name here}}
quelle
git reset --merge
auch fehlgeschlagen). Hat abercheckout -f
super geklappt.Ich habe diese Meldung erhalten, als neue Dateien von Remote aktualisiert wurden und der Index aus dem Ruder gelaufen ist. Es wurde versucht, den Index zu reparieren, aber die Auflösung über Xcode 4.5, GitHub.app (103) und GitX.app (0.7.1) schlug fehl. Also habe ich das gemacht:
das funktionierte bei der Umgehung des Git-Index.
Zwei Blog-Beiträge, die mir geholfen haben, Git und Xcode zu verstehen, sind:
quelle
Sie können Ihren Zweig mit HEAD zurücksetzen
Rufen Sie dann Zweige ab und löschen Sie Zweige, die nicht von lokal entfernt sind.
quelle
Sie müssen nicht gespeicherte Änderungen festschreiben oder zerstören, bevor Sie den Zweig wechseln.
Mit Git können Sie den Zweig nicht wechseln, wenn nicht gespeicherte Änderungen entfernt werden.
quelle
git status
Ausgabe zeigen an, dass dies nicht nur Änderungen im Arbeitsbaum sind, die durch Ändern des Zweigs verloren gehen würden. Sie zeigen an, dass eine Zusammenführung fehlgeschlagen ist und die Konflikte im Index gelöst werden müssen.Da die Datei von beiden geändert wird, müssen Sie sie entweder von hinzufügen
Oder wenn Sie Ihre Änderungen ignorieren möchten, dann tun Sie dies
Danach wechseln Sie einfach Ihren Zweig. Dies sollte den Trick tun.
quelle