GIT: Wie Änderungen nach einer umgekehrten Zusammenführung aus der Verzweigung übernommen werden

8

Ich hoffe, der Titel ist nicht sehr verwirrend.

Geschichte (aka Was ich falsch gemacht habe):

Nehmen wir an, es gibt zwei Zweige, Master und Feature. Feature ist ein Zweig, in dem ich ein längeres Feature-Projekt behalte, und von Zeit zu Zeit verwende ich den Git-Pull-Ursprungs-Master in diesem Zweig, um mit Änderungen im Hauptcode auf dem Laufenden zu bleiben.

Ich habe versehentlich ein Feature verschmolzen und es in den Master geschoben.

Es war noch lange nicht fertig, also habe ich versucht, es rückgängig zu machen. Ich versuchte folgendes: Ссылка Aber ich denke ich habe es falsch gemacht. Ich benutzte: git rückgängig machen dann beging die Rückstellung und schob sie. Problem schien gelöst - das Feature wechselt wo nicht mehr auf Master.

Jetzt ist das Problem, dass, wenn ich versuche, git pull Ursprung Meister auf Feature-Zweig zu verwenden, es meine Dateien löscht und alle Änderungen rückgängig macht, da es mit dem Rücksetzen-commit verschmilzt. Der Kopf des Masters ist weit hinter diesem zurück und ich muss die Änderungen von neueren Commits ziehen, um mit Feature-Zweig fortzufahren.

Ich habe das Thema gegooglet und die vielversprechendste Antwort lautet: Ссылка aber hier geht die Zusammenführung anders als ich möchte (Feature zu meistern, ich brauche Master zu Feature).

Ich denke daran, Klon-Zweig des Meisters zu erstellen und dann die Anweisungen aus dem Link in diesem Zweig anzuwenden, damit ich die Ergebnisse erzielen kann, die ich brauche, aber ich fürchte, es ist eine temporäre Lösung, die ich anwenden muss, wann immer ich will vom Meister.

Ich habe versucht, diese Geschichte nicht zu chaotisch zu machen. Wenn etwas nicht verständlich ist, werde ich das klären.

    
effique 21.08.2015, 11:16
quelle

1 Antwort

3

Wenn Sie die Master-Verzweigung nicht in ein Team / öffentliches Repository verschoben haben und nach dem Pull-on-Master kein Commit mehr haben, können Sie dies tun

%Vor%

im Zweig master . Dies wird effektiv den Fehler aus der Geschichte löschen und gibt eine saubere Geschichte.

andernfalls (d. h., wenn Sie den Master bereits zu einem Repo geschoben oder mehr Commits für den Master durchgeführt haben), können Sie dies tun

%Vor%

in der -Funktion Verzweigung nach dem Ziehen des Masters, wodurch das Zurücksetzen praktisch rückgängig gemacht wird.

    
behzad.nouri 21.08.2015, 11:26
quelle