Frage

Gibt es eine Möglichkeit Git eine manuelle Auflösung für eine Datei erzwingen, wenn die Datei in beiden Zweigen bearbeitet wurde?

Mein Problem ist, dass ich einige der Änderungen von einem Zweig und einige der Änderungen von dem anderen will. Es stellt sich heraus, diese Veränderungen nicht immer aufeinander Schritt, aber der Algorithmus ist nicht immer die richtige Änderung Kommissionierung.

Eine Sache, die ich bemerkt, ist die Basisdatei in der 3-Wege-Merge ist nicht das, was ich erwartet hatte. Ist es möglich, eine ausgewählte Datei von einem Zweig als Basis zu haben Git benutzen?

Keine korrekte Lösung

Andere Tipps

Wenn git Konflikte in einer Datei erfasst, es wird Sie immer fragen, zu bearbeiten (oder ein Merge-Tool verwenden), um die Konflikte zu beheben. In diesem Fall können Sie es reparieren aber wie Sie, bevor es die Inszenierung.

Wenn git hat Konflikte in einer bestimmten Datei nicht erkannt hat aber Konflikte anderswo erkannt wird, dann können Sie immer diese bestimmte Datei beheben und die Updates (git add) hinzufügen, bevor Sie die Zusammenführung verpflichten.

In diesem Fall können Sie die beiden anderen übergeordneten Versionen Zugriff der Datei über git show HEAD:path/to/file und git show MERGE_HEAD:path/to/file. Sie können die git show Ausgabe auf Provisorien umleiten, wenn Sie sie in einem Editor öffnen möchten, sagen.

Sobald Sie die Datei festgelegt und beschlossen, alle anderen Konflikte können Sie das Update-Stufe (git add) und machen die Zusammenführung verpflichten (git commit).

Wenn git keine Commits erkannt hat wird es die Zusammenführung ohne weitere Eingabeaufforderungen machen begehen.

In diesem Fall können Sie Ihre Datei reparieren. Die beiden Eltern-Versionen sind über git show HEAD:path/to/file und git show HEAD^2:path/to/file.

Sobald Sie die Datei festgelegt bis Sie (git add) und wiederholen Sie den Merge-Commit mit git commit --amend inszenieren kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top