Git wird nicht lassen Sie mich zusammenfassen
Guten Abend!
Ich weiß, das ist sehr üblich und es gibt wahrscheinlich Tausende von Antworten im internet, aber ich konnte nicht finden, das war helfull.
Habe ich zwei Filialen:
- MASTER
- Mk
Ich viele änderungen vorgenommen, um Mk, verpflichtet sich diese, und wechselte zu MEISTERN, verschmelzen diese beiden Zweige. Aber es gab Konflikte. So, jetzt bin ich auf dem MASTER-branch, kann nicht wechseln zu Mk mehr, aber außer Kraft setzen müssen, meinen MASTER mit Mk.
Hält Sie sagen:
Fehler: Ihre lokalen änderungen die folgenden Dateien würde überschrieben werden durch merge
Gibt es eine Möglichkeit, dies zu tun?
git mergetool --tool=meld #No files need merging
git merge -s theirs Mk #Could not find merge strategy 'theirs'.
git merge -X recursive=theirs Mk # error: Your local changes to the following files
würde überschrieben werden durch merge
und ich wusste nicht, Schiebe meine änderungen zu meinem online-Archiv noch.
Kann ich den commit mit allen änderungen, die aber keinen Zugriff auf Ihren code.
Gerade angefangen mit git vor einiger Zeit, aber nie lief in Beschwerden wie
die vor. Ich würde wirklich zu schätzen jede Hilfe, die ich bekommen kann :s
- Ist git zu warten, für Sie zum auflösen von Konflikten beim Zusammenführen? Was bedeutet
git status
sagen? - Wenn Sie bereit sind, nuke Ihre worktree können Sie
git checkout -f Mk
. - Ja, ich denke, es macht.. ich bekomme eine Menge von veränderten Dateien, die scheinbar nicht verändert. git diff-druckt alle Dateien mit "alte mode 100644 neue mode 100755"... ich habe verloren jede Orientierung auch immer
- Danke! Dies ist eine großartige Möglichkeit, um Ihren code sicherer, wenn Sie müssen!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da gibt es keine
--theirs
Strategie (auch wenn es Möglichkeiten, um zu simulieren), konnte nicht Sie:git checkout mk && git merge -s ours master
git checkout master && git merge mk
Den
-s ours
- Strategie wird sicherstellen, dass Sie haltenmk
version im Falle von Konflikten.git help merge
Listentheirs
als eine Strategie als "Gegenteil von 'uns'"ours
' und 'theirs
' aufgeführt sind, als parameter der 'recursive
' merge-Strategie. Mit der Einschränkung: "Dies sollte nicht verwechselt werden mit derours
merge-Strategie, die nicht einmal schauen, was der andere Baum enthält überhaupt. Er verwirft alles, was der andere Baum haben, erklärte unsere Geschichte enthält alles, was passiert in der it". Es ist in der Tat eine separate 'ours
' merge-Strategie. Aber soweit ich weiß, gibt es keine 'theirs
' merge-Strategie.Sicher sein, Sie sind auf eine saubere Arbeitskopie des MEISTERS.
Ich habe keine Ahnung wie, aber die Datei Berechtigungen geändert wurde-für einige Dateien der master-Zweig.
git diff:
Ich die änderungen übernommen aus:
Danach war ich in der Lage, die Zweig als wäre nichts passiert
Obwohl ich weiß, das ist nicht die eleganteste Lösung.. Aber ich bin froh, dass mein code zurück! Jetzt habe ich nur noch herausfinden, wie Umgekehrt diese Genehmigung zu ändern. Vielen Dank für die große Hilfe, aber!
Dies ist in der Regel, weil Sie haben uncommitted änderungen überschrieben würden. Also zuerst müssen Sie, um damit umzugehen, indem Sie entweder (1) zu Begehen, oder (2) Aufhänger:
Nun versuchen, das zusammenzuführen. Vielleicht haben Sie Konflikte. Sie möchten, dass alle änderungen, die sich aus
mk
Vorrang, was inmaster
, denn git ist ein wenig zu empfindlich zum erkennen von Konflikten, manchmal (zB, keine wirklichen Konflikte), oder, weil, wen war zu Begehen, ummaster
war ein dunce:BOOM! Schraube
master
. Sie ist nicht mein Meister.Hinweis:
git checkout
wird normalerweise verwendet, um repointHEAD
(und aktualisieren Sie Ihr working directory) zu einem Zweig/tag/SHA/was auch immer, aber wenn Sie das tungit checkout SHA -- file
es nicht repoint IhreHEAD
, sondern es wird aktualisieren Sie die Datei, die Sie übergeben, nachdem die--
zu reflektieren, dass die Datei - /Pfad-Inhalte in der SHA Sie übergeben. Übergeben Sie einen Pfad anstatt der genauen Datei und es wird der Kasse alle Dateien, die andere in diesem Pfad.