External Sync / How to... / 5) Commit / Push

5) Änderungen in den zentralen Entwicklungsstand übernehmen

Vom Dateisystem ins Repository (über VCS)

Inhaltsverzeichnis

In diesem Schritt wird über das Versionskontrollsystem:

  • der Entwicklungsstand aus dem lokalen Dateisystem (aus dem Sync-Verzeichnis) ins lokale Repository übernommen.
  • der Entwicklungsstand aus dem lokalen Repository in das Remote-Repository übertragen.

Vergleiche Abbildung Schritt 5) Commit/Push.

Ausgangssituation

Vorbereitung

Das lokale Repository des Entwicklers wurde zuvor über das Versionskontrollsystem aktualisiert (siehe 1) Update). Dabei wurde der zentrale Entwicklungsstand aus dem Remote-Repository übernommen. Die Projektinhalte und ggf. Projekteigenschaften liegen anschließend im Sync-Verzeichnis (Dateisystem) und sind bereit zum Import.

Vor der Weiterentwicklung wurden alle Inhalte in die lokale FirstSpirit-Projektinstanz importiert (siehe 2) Import).

Anschließend wurden die Projektinhalte bearbeitet (siehe 3) Modification). Ist nach Abschluss der Bearbeitung ein stabiler Stand erreicht, ist der geänderte Entwicklungsstand aus der lokalen FirstSpirit-Projektinstanz bereit zum Export.

Der lokale Entwicklungsstand wurde vollständig ins Sync-Verzeichnis (im lokalen Dateisystem) exportiert (siehe 4) Export). Die Änderungen können nun ins Repository und damit in den zentralen Entwicklungsstand übernommen werden.

Änderungen bestätigen und hochladen

Für eine erfolgreiche Collaboration ist es notwendig, dass die (Weiter-)Entwicklung immer auf einem möglichst aktuellen Stand erfolgt, das heißt, die lokalen Änderungen aller Entwickler im Team müssen zeitnah in den zentralen Entwicklungsstand übernommen werden. Das Zusammenführen der Änderungen erfolgt über das Versionskontrollsystem.

Dazu müssen in regelmäßigen Zeitintervallen die Änderungen im lokalen Repository bestätigt (z. B. in Git über commit) und anschließend in das Remote-Repository geladen werden (z. B. in Git über push).

Die Änderungen stehen anschließend bei einer Aktualisierung (siehe Abbildung „fetch“/„checkout“) allen Entwicklern zur Verfügung.

Änderungen bestätigen (Commit)

Die Änderungen liegen vollständig im lokalen Zielverzeichnis des Entwicklers. Von dort aus, überträgt der Entwickler die Änderungen ins (lokale) Repository, z. B. über git commit. Die Änderungen sind anschließend im lokalen Repository (aber noch nicht im Remote-Repository) enthalten.

Wichtig Wurden Inhalte im Dateisystem geändert , ist es immer notwendig, dass vor dem finalen git commit bzw. vor der Übernahme in den zentralen Entwicklungsstand ein Import ins Projekt und anschließend ein Export ins Dateisystem erfolgt - dann erst sollten die Änderungen in den zentralen Entwicklungsstand übernommen werden (siehe Verhalten bei externen Änderungen).

Änderungen hochladen (Push)

Anschließend werden die Änderungen aus dem lokalen Repository an das Remote-Repository gesendet, z. B. über git push. Die lokalen Änderungen werden damit „öffentlich“ und sind auch für die anderen Entwickler sichtbar.

Auf dieser Ebene werden die Änderungen aller beteiligten Entwickler durch das VCS zusammengeführt (merge). Konflikte, durch einander, überschneidende Änderungen werden behandelt und weitgehend automatisiert behoben.

Weiteres Vorgehen

Mit der Übernahme der Änderungen in den zentralen Entwicklungsstand (ins Remote-Repository) ist die Bearbeitung zunächst abgeschlossen. Die Änderungen sind nun für alle beteiligten Entwickler verfügbar.

Vor Beginn der Arbeit an einem (neuen) Arbeitspaket muss nun das lokale Repository erneut aktualisiert werden. Damit werden die Änderungen der anderen Entwickler in die eigene, lokale Entwicklungsumgebung übernommen. Der Bearbeitungszyklus startet erneut.

Weiter zu Schritt 1) Update.

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.4 | Datenschutz