Wenn ich eine Menge nicht festgeschriebener Änderungen an einer einzelnen -Datei in meinem Arbeitsverzeichnis in Git habe, was ist der einfachste Weg, um selektiv zwischen diesen Änderungen auszuwählen?
Mein aktueller Weg besteht darin, die Datei "git diff" zu machen und dann manuell den Vergleich mit der eigentlichen Datei zu überprüfen. Wenn ich Bits alten Codes wiederherstellen möchte, kann ich aus dem diff in die Datei kopieren und einfügen.
In manchen Fällen wäre es viel einfacher, die Änderungen in einer einzigen Datei anzuzeigen und zu bearbeiten. Gibt es beispielsweise einen Git-Befehl, den man verwenden könnte, um die Arbeitsdatei mit Änderungen in ein Konfliktlösungs-ähnliches Format zu konvertieren - d.h. mit "& lt; & lt; & lt; & lt;" Symbole um die nicht festgeschriebenen Änderungen? Auf diese Weise können Sie Änderungen auswählen und auswählen, ohne sie von einer Datei in eine andere kopieren und einfügen zu müssen.
Ich bin nicht sicher, wie ich das erreichen soll, da es keine Drei-Wege-Situation ist. Es ist vielmehr eine Zwei-Wege-Situation mit einer Reihe von Änderungen an einer Datei (es gibt also keine Konflikte). Danke.
Sie können auswählen, welche hunks bei einem Commit von git add --patch
hinzugefügt werden sollen. Dadurch werden Sie nach jedem einzelnen Abschnitt in den Änderungen einer Datei gefragt, wenn Sie diesen Änderungssatz hinzufügen möchten. Wenn ein bestimmtes Stück zu groß für Sie ist, können Sie es noch weiter teilen. Es gibt eine weitere Option für git-add
, --interactive
, mit der Sie mit mehreren Dateien arbeiten können.
Weitere Informationen finden Sie unter git-add
man-Seite oder diesen Beitrag von einer Google-Suche.
Zusätzlich zu git add --patch gibt es git add -i: was man sich als eine Ebene über git vorstellt - patch.
Tutorials zu git add --patch und git add -i
Tags und Links git