• Keine Ergebnisse gefunden

PROGRAMMIERPROJEKT 2018 PROGRAMMIERPROJEKT 2018

N/A
N/A
Protected

Academic year: 2022

Aktie "PROGRAMMIERPROJEKT 2018 PROGRAMMIERPROJEKT 2018"

Copied!
14
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

PROGRAMMIERPROJEKT 2018 PROGRAMMIERPROJEKT 2018

VERSIONSVERWALTUNGSSYSTEME VERSIONSVERWALTUNGSSYSTEME

Dr. Annette Bieniusa, Mathias Weber

(2)

PROBLEMSTELLUNG PROBLEMSTELLUNG

Code und Änderungen müssen für alle Teammitglieder zugänglich sein Dateien müssen auf Server gesichert werden

Historie der Änderungen sollte erhalten bleiben

Dokumentation, welche Änderungen von welchem Teammitglied kommen

(3)

GIT

GIT

(4)

Verteiltes Versionsverwaltungssystem (DVCS; distributed version control system)

Versionen lokal verwaltet in Repository

Mehrere Kopien des Repositories auf unterschiedlichen Rechnern

(5)

Version 1

Version 2

Version 3 Version 4

Version 5 commit

merge

commit commit

Commit von Änderungen erzeugt neue Version Parallele Änderungen → mehrere Kindversionen Merge führt zwei Versionen zusammen

Log zeigt Historie

(6)

Dateisystem Index Repository

Version 1

Version 2

Version 3 Version 4

Version 5 commit

merge

commit commit

Änderung Datei 1 Datei 3 neu

Datei 5 gelöscht

myproject src

file 1 file 2 file 3 file 4

file 6

add <Datei> commit

checkout

(7)

LOKALE ÄNDERUNGEN LOKALE ÄNDERUNGEN

Git verwaltet Änderungen, keine Dateien

Änderungen werden lokal im Dateisystem gemacht Durch git add zum Index hinzugefügt (engl. stage)

Befehl git commit übernimmt Änderungen im Index zu einer Version Befehl git checkout aktualisiert das Dateisystem auf Zustand einer Version

(8)

Dateisystem Index Repository

Version 1

Version 2

Version 3 Version 4

Version 5 commit

merge commit commit

Änderung Datei 1 Datei 3 neu Datei 5 gelöscht

myproject src

file 1 file 2 file 3 file 4

file 6

Dateisystem Index Repository

Version 1

Version 2

Version 3

commit

commit

Änderung Datei 1 Datei 3 neu Datei 5 gelöscht

myproject src

file 1 file 2 file 3 file 4

file 6

Version 1

Version 2

Version 3 Version 4

Version 5 commit

merge

commit commit

Remote Repository

push pull

push

pull

(9)

REMOTE REPOSITORIES REMOTE REPOSITORIES

Repository auf einem Server ermöglicht Austausch von Änderungen Jedes Teammitglied hat lokales Repository

Mit git push werden lokale Versionen auf Server geschoben

Mit git pull werden Versionen anderer Teammitglieder vom Server geholt Ein git pull macht gleichzeitig ein checkout (Aktualisierung des Dateisystems)

(10)

Version 1

Version 2

Version 3 Version 4

Version 5 commit

merge

commit commit

Konflikte treten beim mergen auf Manuelle Lösung erforderlich

Absprachen helfen, Konflikte zu vermeiden

KONFLIKTE

KONFLIKTE

Versionen können Änderungen an gleichen Stellen der gleichen Datei enthalten Basieren beide Versionen auf der selben Grundversion ist die ein Konflikt

(11)

WICHTIGE BEFEHLE WICHTIGE BEFEHLE

git init - Neues Repository anlegen in aktuellem Ordner

git status - Übersicht Zustand des Dateisystems/Index, Vergleich zu letzter Version

git diff - Änderungen anzeigen

git add - Änderungen in Index aufnehmen (stagen)

git commit - Ändernungen im Index zu neuer Version

git checkout - Dateisystem Zustand auf Zustand einer Version setzen

git push - Lokale Versionen zum Server senden

git pull - Versionen vom Server holen und Dateisystem aktualisieren

(12)

GITLAB

GITLAB

(13)

Verwaltung von Git Repositories

Issue Tracking

Wiki

Code Snippets

https://softech­git.informatik.uni­kl.de/

(14)

DEMO

DEMO

Referenzen

ÄHNLICHE DOKUMENTE

o Beachten Sie eine faire Aufteilung der Arbeiten (teilweise sind Überschneidungen und Anknüpfungspunkte notwendig).. o Unser Versionsmanagement erlaubt es sehr

Fügen Sie Ihre css-Dateien in den Ordner src/main/resources/public/css/ ein (ähnlich für Fonts, Bilder, etc.) und ändern Sie in Ihren HTML-Dateien die entsprechenden Pfade..

• Wenn bei der Abgabe die Auflistung des Arbeitsaufwandes fehlt, kann das Projekt nicht bewertet werden und gilt dann als nicht bestanden.. Die Auflistung soll pro Person

Benutzer aktiviert die Anzeige erledigter Items Alle Items, auch die erledigten, werden angezeigt Erledigte Items sind farblich markiert..

Web-Anwendungen laufen auf Servern und kommunizieren mit dem Browser des Benutzers Austausch von Informationen zwischen Benutzern möglich.. Server speichert Informationen zur

– Methode void update(Observable o, Object arg) wird aufgerufen, wenn das observierte Objekt sich

Gefahr: Systemarchitektur muss für spätere Anpassungen vollständig überarbeitet werden..

JavaScript erlaubt dynamische Änderungen am HTML Aber: Kein direkter Austausch von Informationen.. zwischen