Ich verwende SmartGit / Hg. Ich habe einige Dateien bearbeitet, die an zwei separaten neuen Funktionen arbeiten. Jetzt, da ich mit der Arbeit an Feature A fertig bin, möchte ich meine Arbeit übernehmen, aber ich kann nicht einfach alle meine bearbeiteten Dateien übernehmen, da sie Änderungen von Feature B enthalten. was ich jetzt nicht begehen möchte.
Sie erreichen dies mit dem Befehl . Vor allem stage alle Dateien, die Änderungen enthalten, die übergeben werden sollen. In diesem Beispiel enthalten alle Dateien mit Ausnahme von DoNotCommit.php
mindestens eine Zeile, die wir festschreiben möchten:
Als nächstes müssen wir den Indexeditor für alle Dateien öffnen, die Zeilen von Feature A und Feature B . In diesem Beispiel müssen wir Main.php
und NewFeatures.php
überprüfen:
Dies öffnet den Indexeditor . Sie sehen drei Registerkarten mit Ihrem Code: Repository (HEAD) , Index , Arbeitsbaum :
Für uns sind nur das Repository (HEAD) und das Register wichtig. Auf der Registerkarte Repository (HEAD) wird der bereits festgeschriebene Inhalt der Datei angezeigt. Die Registerkarte Index zeigt die Änderungen an, die wir vornehmen werden. Nehmen wir an, wir wollen nur den ersten Codeblock mit der Funktion myNewCompletedFeature
festschreiben:
Wie Sie sehen, entfernen wir den gesamten Code, den wir nicht festlegen möchten, über die Registerkarte Index . Dadurch wird nicht der Code aus dem Arbeitsbaum entfernt, sodass Sie keine Änderungen verlieren. Jetzt machen wir dasselbe mit unserer neuen Datei NewFeatures.php
und speichern sie erneut:
Im letzten Schritt werden wir das neue Feature tatsächlich festschreiben. Stellen Sie sicher, dass Sie im Commit-Fenster Inszenierte Änderungen auswählen!
Wow, wir sind jetzt fertig!
Tags und Links git version-control commit staging smartgit