Zum Beispiel habe ich die folgende Datei:
können zwei Dateien git fusionieren ihre gemeinsamen Vorfahren ignorieren
// first part
function() {
var timer = 1;
}
// second part
function() {
var timer = 2;
}
// third part
function() {
var timer = 3;
}
nun zwei verschiedene Zweige zu verändern. Ich habe Änderungen:
in branch1:
// first part
function() {
var timer = "changed in branch1";
}
// second part
function() {
var timer = 2;
}
// third part
function() {
var timer = 3;
}
in branch2:
// first part
function() {
var timer = 1;
}
// second part
function() {
var timer = "changed in branch2";
}
// third part
function() {
var timer = 3;
}
Mit 3-Wege, diese Änderungen fusionieren sauber fusionieren, weil jeder Zweig ein Stück Code unterscheidet sich von den anderen geändert . Wenn jedoch fusionierte möchte ich folgendes:
// first part
function() {
<<<<<<< branch1
var timer = "changed in branch1";
=======
var timer = 1;
>>>>>>> branch2
}
// second part
function() {
<<<<<<< branch1
var timer = 2;
=======
var timer = "changed in branch2";
>>>>>>> branch2
}
// third part
function() {
var timer = 3;
}
Gibt es eine Möglichkeit, diese Art von merge in git zu erreichen? Ich gehe davon aus, basierend auf den Kommentaren diese Art von Merge etwas so sein würde:
- make diff eine Datei
- Einsatz in der Endfassung Chunks nicht in einem diff
- Zeichen Brocken, die mit Konfliktmarken unterscheiden
Nur neugierig, warum möchten Sie das tun? –
@mu 無, naja meistens auch aus Neugier :). Außerdem haben wir ein Teammitglied, das manchmal meinen Code von 'featureA' in' master' ändert, während ich an der anderen Funktion arbeite und 'featureA' nicht bearbeite, so dass bei der Zusammenführung kein Konflikt entsteht. Und nach einiger Zeit in der Zukunft entdecke ich, dass 'featureA' gebrochen ist. Vielleicht möchte ich einige Dateien ohne gemeinsamen Vorfahren zusammenführen, um zu sehen, ob sich der Code von 'featureA' im Master vom selben Code in meiner Version in verschiedenen Zweigen unterscheidet. –
Wenn der Grund die Änderungen eines anderen Entwicklers sind, denke ich, dass sie besser durch einen geeigneten Code-Review-Prozess behandelt werden könnten. Das heißt, Sie können immer das diff überprüfen, wie Antworten unten vorschlagen :) –