Lernzettel Qualitätssicherung (Versionsverwaltung) zur GAP2 für Fachinformatiker Anwendungsentwicklung

Dieser Lernzettel richtet sich nach den möglichen Themen von Teil 2 der gestreckten Abschlussprüfung (GAP) für Fachinformatiker Anwendungsentwicklung vom IT-Berufe-Podcast.

Werkzeuge zur Versionsverwaltung einsetzen

Auswahlkriterien

  • Skalierbarkeit: Kann das Werkzeug mit der Größe des Projekts wachsen?
  • Benutzerfreundlichkeit: Ist die UI/CLI intuitiv?
  • Community und Support: Wie gut ist die Dokumentation und gibt es eine aktive Community?
  • Kompatibilität: Wie gut lässt sich das Werkzeug in bestehende Systeme und Workflows integrieren?

Eigenschaften eines Versionsverwaltungssystems

Konsistenz

  • Sicherstellung, dass alle Änderungen fehlerfrei sind.

Rückverfolgbarkeit

  • Jede Änderung kann zu ihrem Urheber zurückverfolgt werden. (z.B. git blame)

Parallelität

  • Unterstützt die parallele Arbeit mehrerer Entwickler.

SVN, CVS, TFS mit Source Safe, Git

SVN (Subversion)

  • Zentralisiertes VCS.
  • Vorteile: Einfache Modellstruktur, ACL-Unterstützung.
  • Nachteile: Langsamer als Git, keine lokale Historie.

CVS (Concurrent Versions System)

  • Älteres, zentralisiertes System.
  • Vorteile: Einfach zu lernen.
  • Nachteile: Veraltet, Sicherheitsrisiken.

TFS mit Source Safe

  • Von Microsoft entwickelt.
  • Vorteile: Gute Integration mit Visual Studio.
  • Nachteile: Weniger flexibel, teuer.

Git

  • Dezentralisiertes VCS.
  • Vorteile: Schnell, flexibel, open source.
  • Nachteile: Recht steile Lernkurve.

VCS vs. DVCS

VCS (Version Control System)

  • Zentralisiertes System.
  • Beispiel: SVN.
  • Vorteile:
    • Zentrale Anlaufsstelle für Code und Historie.
    • Zentrale Zugriffskontrolle.
  • Nachteile:
    • Single Point of Failure durch zentralen Server.
    • Langsamere Vorgänge bei schlechter Verbindung.
    • Nicht einwandfrei offline nutzbar.

DVCS (Distributed Version Control System)

  • Dezentralisiertes System.
  • Beispiel: Git.
  • Vorteile:
    • Flexibles unabhängiges Arbeiten.
    • Schnell, da zunächst lokal.
    • Redundanz durch mehrere Kopien.
  • Nachteile:
    • Steilere Lernkurve für Einsteiger.
    • Höherer Speicherbedarf durch vollständige Kopien.
    • Potenziell komplexere Code-Konflikte.

Unterschiede

  • VCS hat einen zentralen Server, DVCS nicht.
  • DVCS ermöglicht lokale Commits, VCS nicht.

Nutzen und Anwenden einschlägiger Systeme

Git als Beispiel

Funktionen

Commit
  • Änderungen festhalten.
Revert
  • Änderungen rückgängig machen.
Branch
  • Verschiedene Abzeigungen des Codes
Merge
  • Änderungen aus verschiedenen Branches zusammenführen.
Cherry-Pick
  • Einzelne Commits von einem Branch auf einen anderen übertragen.
Pull/Push
  • Änderungen vom/zum Remote-Repository übertragen.
Rebase
  • Branch auf einen neueren Stand aktualisieren, ohne die Historie zu ändern. (Die Historie des Branches ändert sich aber.)

Übliche Workflows im Team

Pull/Merge Requests

  • Eine Änderung wird vorgeschlagen und muss von Teammitgliedern überprüft werden, bevor sie in den Hauptbranch gemergt wird.

Weiteres Lernmaterial

Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich von dem betreffenden Online-Shop oder Anbieter eine Provision. Für dich verändert sich der Preis nicht.

Prüfungsvorbereitung aktuell Teil 2 der gestreckten Abschlussprüfung: Fachinformatiker Anwendungsentwicklung*

IT-Handbuch

IT-Handbuch für Fachinformatiker*innen: Der Ausbildungsbegleiter für Anwendungsentwicklung und Systemintegration. Inkl. Prüfungsfragen und Übungen*

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen