git merge nicht Zusammenführen
Ich habe einen master und "PersonalSite" - Filiale für eine Codebasis, die ich arbeite. Ich habe schon mehrfach versucht die Zusammenführung der Meister in der PersonalSite Zweig ohne Erfolg.
Dieser Zeit, ich dachte, ich hätte alles begradigt, so habe ich getan:
git checkout master
git pull
git checkout PersonalSite
git pull
git merge master
Es sah aus wie alles lief, und Sie den Satz von Dateien, die ich erwartet hätte, aber es war ein Konflikt. Der Konflikt war richtig und war wie erwartet, also habe ich es behoben, habe "git add", "git commit" und "git push". Aber jetzt, wenn ich einen Blick in mein git log, es zeigt nur eine commit-ohne code-änderungen, aber einen einzigen Konflikt.
Nun, wenn ich mit "git merge master" aus dem "PersonalSite" Branche heißt es Schon "up-to-date.", aber das ist eindeutig nicht der Fall, da keine der änderungen, die ich versuchte zu verschmelzen tatsächlich zusammengeführt. Was genau muss ich tun, um Meister zu verschmilzt an dieser Stelle?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durch die Festsetzung der Konflikt und begeht den merge-Konflikt haben Sie bereits abgeschlossen, die Zusammenführen. Git fügt merges, wenn nötig, es ist normal, aber Sie nicht alles aufzeichnen, außer, dass der merge stattgefunden hat, und welche Dateien eingelesen wurden, wenn es einen Konflikt. Wenn Sie einen genaueren Blick auf Ihre log-du wirst sehen, es gibt in der Tat commits vom master.
BEARBEITEN:
Okay, versuchen Sie das ein test. Sie müssen nicht mit dem merge-Befehl, können Sie einfach ziehen master in PersonalSite.
Sehen, was gibt Sie. Wenn er sagt, up to date, dann müssen Sie ordnungsgemäß zusammengeführt.
Wenn Sie merge-Zeug lokal, wie Sie es Tat, dann müssen Sie sicherstellen, dass die lokalen tracking branches sind up to date. Geben Sie immer die Zweignamen zu ziehen aus,
Ich erkennen, dass dies eine ältere Frage jetzt, aber ich war nur mit, was ich glaube, ist das gleiche problem. Ich konnte es nicht behoben wird, eine beliebige Kombination der Befehle in anderen Antworten, aber ich wollte es beheben, indem Sie in der Zweigstelle ausgeführt, daß ich will verschmilzt:
Also für Sie:
Ich fand diese Antwort hier:
git: checkout Dateien aus einem anderen branch in den aktuellen branch (wechseln nicht den KOPF auf die andere Niederlassung)
Vorausgesetzt, Sie haben tatsächlich zusammengeführt, was bedeutet Sie, zu verschmelzen (das ist möglich, aber schwer zu sagen, angesichts Ihrer Erklärung), die Sie noch nicht sehen diffs in der Ausgabe von
git log
nur die commit-Nachrichten. Selbst wenn Sie-p
zu sagengit log
zu zeigen, diffs, die diff für den merge-commit wird in der Regel leer sein, oder vielleicht zeigen Konfliktlösungen. Dies ist, weil Sie semantisch, nur Konfliktlösungen sind Teil des merge-commit; die übrigen änderungen sind Teil der anderen begeht.Wenn Sie wollen
git log
zeigen Sie die volle Wirkung von merge-commits in jedem Fall können Sie verwenden:Die Funktion der Optionen:
-p
leitet es zu zeigen, diffs, nicht nur von commit-Nachrichten;-m
sagt es zu zeigen, diffs für merge commits zu; und-c
sagt es, die zwei zu verbinden diffs in ein für merge commitsDie diff-Ansicht in
gitk
wird das gleiche tun.einen merge zeigen keine Veränderungen, außer Ihre Konfliktlösungen.
Zu sehen, die Unterschiede auf beiden Seiten des merge-do:
und
für die andere Seite.
Hoffe, das hilft.