Ich habe versucht, eine Datei in der Befehlszeile mit Git zusammenzuführen, als eine Fehlermeldung angezeigt wurde, dass die Zusammenführung abgebrochen wurde.
Ich dachte, das wäre das Ende, aber dann wurde mir klar, dass meine Dateien Gitmarks enthalten. Wie so:
start =
expression
validchar =
[0-9a-zA-Z_?!+\-=@#$%^&*/.]
integer =
<<<<<<< HEAD
digits:[0-9]+
{ return digits.join(""); }
=======
sign:"-"* digits:[0-9]+
{ return sign + digits.join(""); }
>>>>>>> gh-pages
Die Dateien wurden nicht von mir bearbeitet und zeigen Zeilen eingefügt mit:
- KOPF nach weniger als Zeichen (
<<<<<<< HEAD
) - Zeilen mit geändertem Code
- eine Reihe von Gleichheitszeichen (
=======
) - die neue Version des Codes
- eine andere Zeile, die mit mehr als Zeichen und dem Namen des Zweigs beginnt (
>>>>>>> gh-pages
)
Schlimmer ist, dass der Dateiinhalt nicht mehr in Ordnung ist. Weiß jemand, wie ich diese Dateien wieder normalisiere und die Änderungen, die ich im gh-Zweig vorgenommen habe, in den Hauptzweig verschmolzen sind?
quelle
gh-pages
Version haben möchten , also löschen Sie einfach das Material von<<<<<<
bis======
und entfernen auch die einzelne>>>>>>
Zeile, wobei die beiden Zeilen des tatsächlichen Codes zwischen=======
und verbleiben>>>>>>
.Beginnen Sie unbedingt mit 'git status', um zu sehen, was Sie haben. Wenn Sie eine Zusammenführung abgebrochen haben (oder eine Zusammenführung abgebrochen haben) und Sie widersprüchliche Dateien im Arbeitsverzeichnis haben, ist ein Fehler aufgetreten. Der Git-Status zeigt Ihnen, wo Sie sich befinden. Danach haben Sie eine Reihe von Optionen. Sie sollten das Zusammenführungs-Commit entweder manuell auflösen, was eine Herausforderung sein kann, oder ein Tool verwenden als:
Das Zusammenführungstool funktioniert, wenn Ihre Dateien zusammengeführt werden müssen.
Sie können auch Folgendes ausführen:
Sie können die verschiedenen Versionen mit der Syntax: 1: Dateiname anzeigen. Sehen Sie hier für eine Erklärung. Bei alledem wird jedoch davon ausgegangen, dass der Git-Status anzeigt, dass die Dateien zusammengeführt werden müssen.
Schließlich haben Sie immer die Möglichkeit:
quelle
git status
Ratschlag "Beginnen Sie damit, um zu sehen, was Sie haben" unterstützen: In einigen Kreisen ist es unumgänglich, Git für seine imaginäre Komplexität verantwortlich zu machen, aber tatsächlich reicht es aus, die Ausgabe von sorgfältig zu lesen,git status
um zu verstehen, was als nächstes zu tun ist in den meisten Situationen. Also wirklich: Wenn etwas schief geht, hör auf, liesgit status
, denke nach.Alle Antworten sind richtig, aber wenn Sie alle Konfliktmarkierungen automatisch entfernen und die Dateien automatisch ändern möchten, um HEAD beizubehalten, können Sie Ihr eigenes Bash-Skript erstellen, wie: -
Beispielskript:
# vim /usr/sbin/solve.git
(Nachfolgend anhängen)
# chmod 755 /usr/sbin/solve.git
& führen Sie es einfach in Ihrem GIT-Repo / Pfad aus, um Folgendes zu beheben:
$ cd <path_to_repo>
$ solve.git
Hinweis: - Die oben genannten Dateierweiterungen sind PHP, CSS, JS, HTML, SVG und TXT.
quelle
In Atom hatte ich das Problem, dass einige Dateien die gelösten Zusammenführungskonflikte nicht auf dem Laufwerk speicherten, so dass ich manuell auf "Speichern" klicken musste. Ich habe einige Zeit gebraucht, um das herauszufinden.
quelle
Ich komme von dieser Frage . Und ich wollte eine automatisierte Methode zum Zusammenführen der halb zusammengeführten Dateien, anstatt die Dateien manuell zu bearbeiten ( wie in anderen Antworten vorgeschlagen, was mir nicht wirklich angenehm ist ). Hier ist, was ich letztendlich über Netbeans gemacht habe, aber auch über die Kommandozeile.
Denken Sie jetzt daran, dass dies nur funktioniert, wenn Sie unmittelbar danach
merge->add->commit
festgestellt haben, dass Sie es vermasselt haben, und den Prozess erneut durchführen möchten.SCHRITT 1: Zurücksetzen auf ein vorheriges Commit.
SCHRITT 2: Versuchen Sie erneut, den Zweig zusammenzuführen
An dieser Stelle werden Sie mit dem Zusammenführungsfenster aufgefordert, wenn Sie eine GUI verwenden. und Sie können dann wie gewohnt fortfahren.
quelle