Git II. Dezentrale Versionsverwaltung im Team

Größe: px
Ab Seite anzeigen:

Download "Git II. Dezentrale Versionsverwaltung im Team"

Transkript

1 Git II Dezentrale Versionsverwaltung im Team

2 Themenbereiche Arbeit mit Remote Repositories Austausch zwischen Repositories Änderungen rückgängig machen Zusammenarbeit über Workflows

3 Git hat mehr als nur den Workspace.. Arbeit mit Remote-Repositories

4 Repositories klonen Projektserver hat zentrales Repository Jeder Entwickler braucht mindestens einen eigenen Klon Klonen dient auch für unabhängige Entwicklungen mit anderer Richtung (Fork) Als Backup für das Hauptrepository Wichtige Befehle: git clone <pfad> Hinweise

5 Repositories klonen

6 git remote add <name> <pfad> Nützlich, wenn man häufig auf einen Klon zugreift Weist einem geklonten Repository einen Kurznamen zu Bei Befehlen muss dann nicht mehr die Repo-URL benutzt werden Kann gelöscht werden durch: git remote rm <kurzname> Original-Repository trägt den Namen origin Auflistung der Verknüpfung über: git remote --verbose (git remote v)

7 git remote add <name> <pfad>

8 Tracking branches = Lokaler Branch der einen remote branch verfolgt verbinden lokale Arbeit mit der Arbeit in einem entfernten Repository wissen automatisch, von welchem entfernten Branch Änderungen heruntergeladen werden müssen, wenn git pull oder git fetch verwendet werden. git status erkennt, wieviele Commits die aktuelle Arbeit der entfernten Version des Branches voraus ist. git branch --track <NeuerBranchname> <remote>

9 Ideen zusammenführen Austausch zwischen Repositories

10 Austausch zwischen Repositories git pull git fetch git merge git push

11 git fetch Importiert Commits aus einem Remote-Repository in das eigene lokale Repo Die entstehenden Commits werden als Remote-Branches abgespeichert hat absolut keinen Effekt auf lokale Entwicklungsarbeit Sicherer Weg, Commits zu betrachten Ermöglicht, die Änderungen vor der Integration in den eigenen Workspace zu überprüfen Dient dazu, die Arbeit der anderen Entwckler zu begutachten

12 git fetch git fetch <remote> holt alle branches aus dem remote (inkl. aller Commits und Dateien) git fetch <remote> <branch> holt alle Commits und Dateien eines bestimmten branch

13 Austausch zwischen Repositories git pull git fetch git merge git push

14 git merge Fast-Forward- Merge Drei-Wege- Merge

15 git merge Fast-Forward- Merge Drei-Wege- Merge

16 Fast-Forward-Merge Benötigt linearen Pfand von aktuellem Branch zu Zielbranch Bewegt einfach den Zeiger von der masterbranch zur featurebranch Für kleinere Änderungen z.b. Bugfixes

17 git merge Fast-Forward- Merge Drei-Wege- Merge

18 Drei-Wege-Merge Bei auseinander gegangenen Branches Erstellt zur Zusammenführung einen neuen Commit Gut geeignet für längerfristige Features

19 Drei-Wege-Merge 1. Entwickler beginnt ein neues Feature in einem neuen Branch 2. Bearbeitung von Dateien in dem Branch 3. Auch im master-branch wird entwickelt 4. Schließlich wird das Feature in die master-branch übernommen und der Feature-branch gelöscht

20 Achtung, Konfliktpotential

21 Merging-Konflikte

22 Derweil auf dem Master-Branch

23 Merging: Konfliktlösung 1. Zweifach bearbeitete Stelle manuell ändern 2. Dokument erneut hinzufügen (git add) 3. Commit abgeben Konflikt gelöst

24 Austausch zwischen Repositories git pull git fetch git merge git push

25 git pull Abkürzung für git fetch - git merge Abfolge Einfacher Weg sein lokales Repository mit dem Upstream Repository zu synchronisieren git fetch <remote> git merge origin/<current-branch> git pull <remote>

26 Austausch zwischen Repositories git pull git fetch git merge git push

27 git push Gegenstück zu git pull überträgt Commits: lokal remote hat Potenzial, Änderungen zu überschreiben: VORSICHT! möglichst nur in Bare-Repositories pushen gebräuchlichste Verwendung: Veröffentlichung der eigenen lokalen Änderungen in einem zentralen Repository

28 git push git push <remote> <branch> schiebt den entsprechenden Branch und alle notwendigen Commits und Objekte auf das remote, wo eine lokale branch erstellt wird git push <remote> --force funktioniert selbst dann, wenn daraus ein non-forward-merging folgt (nur benutzen, wenn man absolut sicher ist, was man tut) git push <remote> --all schiebt alle branches auf das remote

29 Änderungen rückgängig machen Checkout, revert, reset,

30 Revert vs. Reset Macht gespeicherte (commited) Änderungen rückgängig Löscht Commit nicht, sondern erstellt einen neuen, bei dem die Änderungen rückgängig gemacht wurden Revidiert einen einzigen Commit (setzt nicht auf Stand zurück) bewahrt git davor, einen Teil der Historie zu verlieren git revert <commit> Macht nicht gespeicherte (uncommited) Änderungen rückgängig permantente Revision (keine Möglichkeit, danach auf das Original noch zuzugreifen) sollte immer nur bei lokalen Änderungen angewandt werden git reset git reset <file> git reset --hard (<commit>)

31 git revert

32 git reset

33 Vergleich git revert gut geeignet, wenn ein Fehler nur durch einen einzigen Commit entstanden ist sichere Variante, da es die Historie nicht ändert kann gezielt einen individuellen Commit auswählen für public history gedacht git reset arbeitet vom aktuellen Commit an rückwärts Rückgängigmachen eines früheren Commits beinhaltet das Verlorengehen aller darauffolgenden Commits ohne --hard ein guter Weg das Repository zu säubern --hard ist hilfreich wenn ein Experiment total schief gelaufen ist

34 Reset Revert Checkout Kommando Ebene Gewöhnliche Nutzungsweise git reset Commit Datei Commits in privaten branches verwerfen oder uncommitted changes wegwerfen Eine Datei aus dem Staging-Bereich wiederherausholen git revert Commit Datei / Commits in einem öffentlichen Zweig rückgängig machen git checkout Commit Datei Zwischen branches wechseln oder alte Zustände betrachten Änderungen im Arbeitsverzeichnis verwerfen

35 Bitbucket Zusammenarbeit über ein zentrales Repository

36 Zusammenarbeit über Bitbucket Benutzerfreundliche Web- Oberfläche zur Diskussion vorgeschlagener Änderungen vor der Integration in das offizielle Projekt Unser Repository für die Übung: https://bitbucket.org/pp_ruby_20 15_ss/git2-uebungsrepository

37 Teamarbeit: Ablauf 1. Erstellung eines Features durch einen Entwickler in einem Branch in seinem lokalen Repository

38 Pull-Request

39 Teamarbeit: Ablauf 1. Erstellung eines Features durch einen Entwickler in einem Branch in seinem lokalen Repository 2. Veröffentlichung der Branch auf einem öffentlichen Repository mittels PUSH-Befehl

40 Pull-Request

41 Teamarbeit: Ablauf 1. Erstellung eines Features durch einen Entwickler in einem Branch in seinem lokalen Repository 2. Veröffentlichung der Branch auf in einem öffentlichen Repository mittels PUSH-Befehl 3. Pull-Request durch den Entwickler via Bitbucket 4. Die anderen Teammitglieder reviewen den Code, diskutieren und verändern ihn

42 Pull-Request

43 Teamarbeit: Ablauf 1. Erstellung eines Features durch einen Entwickler in einem Branch in seinem lokalen Repository 2. Veröffentlichung der Branch auf in einem öffentlichen Repository mittels PUSH-Befehl 3. Pull-Request durch den Entwickler via Bitbucket 4. Die anderen Teammitglieder überprüfen den Code, diskutieren und verändern ihn 5. Ein Projektverwalter führt das Feature mit dem Inhalt des offiziellen Repository zusammen mittels MERGE-Befehl und schließt den Pull-Request

44 Pull-Request

45 Workflows

46 Workflows

47 Workflows

48 Quellen Preißel, R.,Stachmann, B., Git- Dezentrale Versionsverwaltung im Team (2012) https://www.atlassian.com/git/tutorials

Praktikum Ingenieurinformatik (PI)

Praktikum Ingenieurinformatik (PI) Praktikum Ingenieurinformatik (PI) Verteilte Versionskontrolle mit Git und Github Björn Meyer Fachgebiet Technische Informatik 1 Agenda Einleitung Motivation Versionskontrolle Ansätze Git Funktionen Arbeiten

Mehr

Die Projek*ools. Files, Git, Tickets & Time

Die Projek*ools. Files, Git, Tickets & Time Die Projek*ools Files, Git, Tickets & Time Agenda Die Abgabe von Dokumenten: Files Das Pflegen von Software: Versionskontrolle mit Git Management von Anforderungen: Tickets Management von Zeit: Time Files

Mehr

Apache Subversion (SVN)

Apache Subversion (SVN) Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013 Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013 git Datamining

Mehr

eclipse - EGit HowTo

eclipse - EGit HowTo eclipse - EGit HowTo An der HSR steht den Studierenden ein git Server für die Versionskontrolle zur Verfügung. Dieses HowTo fasst die notwendigen Informationen zur Verwendung dieses Dienstes in Verwendung

Mehr

Seminar. Bachelor Wirtschaftsinformatik

Seminar. Bachelor Wirtschaftsinformatik Seminar Bachelor Wirtschaftsinformatik Generalthema: Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Versionierung von Java-Anwendungen mit Git Christian Ondreka Versionsverwaltung mit

Mehr

Moodle aktuell halten mit Git

Moodle aktuell halten mit Git Moodle aktuell halten mit Git 3a 1 2 3b 3c 4c Vorstellung Andreas Grabs Softwareentwickler Seit 2010 Moodle Core- Entwickler Freier Mitarbeiter eledia GmbH Inhalt Allgemeines Allgmeine Vorteile Vorteile

Mehr

Git in großen Projekten

Git in großen Projekten Git in großen Projekten Einsatz von Submodulen und Subtrees René Preißel (rp@etosquare.de) Buchhandlung Lehmanns, 16.10.2013 1 Über Mich René Preißel (rp@etosquare.de) Freiberuflicher Berater, Entwickler,

Mehr

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn michael.kuhn@informatik.uni-hamburg.de

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn michael.kuhn@informatik.uni-hamburg.de Git Fast Version Control System Michael Kuhn michael.kuhn@informatik.uni-hamburg.de Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2011-09-28 1 / 16 1 Einführung Überblick

Mehr

Versionierung und Bugtracking mit Git(Hub)

Versionierung und Bugtracking mit Git(Hub) Semesterprojekt Verteilte Echtzeitrecherche in Genomdaten Versionierung und Bugtracking mit Git(Hub) Marc Bux (bux@informatik.hu-berlin.de) Ziele der Versionierung Revisionsgeschichte eines Projekts erhalten

Mehr

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Einführung in git Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Ben Oswald 27. April 2014 Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist git?..................................... 1 1.2 Warum sollten

Mehr

Git. Dezentrale Versionsverwaltung im Team Grundlagen und Workflows. Rene Preißel Björn Stachmann. 2., aktualisierte und erweiterte Auflage

Git. Dezentrale Versionsverwaltung im Team Grundlagen und Workflows. Rene Preißel Björn Stachmann. 2., aktualisierte und erweiterte Auflage Rene Preißel Björn Stachmann Git / Dezentrale Versionsverwaltung im Team Grundlagen und Workflows 2., aktualisierte und erweiterte Auflage fäjj dpunkt.verlag XV Erste Schritte 1 Grundlegende Konzepte 1

Mehr

Apache Subversion (SVN)

Apache Subversion (SVN) Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 19.10.2012 Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 19.10.2012 git Datamining

Mehr

31.01.2013. Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

31.01.2013. Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle Vorlesung Programmieren Versionskontrolle Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Versionskontrollsysteme Wie organisiert man die

Mehr

Erfolgreicher Ums9eg auf Git

Erfolgreicher Ums9eg auf Git CONCEPT PEOPLE IT- TALK Ein Erfahrungsbericht Erfolgreicher Ums9eg auf Git René Preißel (etosquare) Nils Hartmann (Techniker Krankenkasse) VORSTELLUNG René Preißel Freiberuflicher SoGwarearchitekt, Entwickler

Mehr

Das Tübinger Softwareprojekt

Das Tübinger Softwareprojekt Das Tübinger Softwareprojekt Git & Social Coding Workshop Arbeiten im Team Begriffe Remote Repository Ein externes Repository im Netzwerk / Internet. Begriffe Remote Repository Ein externes Repository

Mehr

git Änderungen verwalten mit git

git Änderungen verwalten mit git Änderungen verwalten mit git Wie arbeitet man am besten an einem Protokoll zusammen? PeP et al. Toolbox, 2014 2 Idee: Austausch über Mails PeP et al. Toolbox, 2014 3 Mails: Probleme Risiko, dass Änderungen

Mehr

Konfigurationsdateien mit Git verwalten

Konfigurationsdateien mit Git verwalten Konfigurationsdateien mit Git verwalten Chemnitzer Linuxtage 2011 Julius Plenz 19. März 2011 Veröffentlicht unter der CreativeCommons-Lizenz (By, Nc, Sa) http://chemnitzer.linux-tage.de/2011/vortraege/782

Mehr

Git-Workflows im Alltag

Git-Workflows im Alltag Git-Workflows im Alltag Valentin Haenel Freelance Consultant and Software Developer http://haenel.co @esc 2015-03-21 @ CLT Version: v0.3.0 https://github.com/esc/clt-2015-git-workflows This work is licensed

Mehr

Von SVN zu Git. Daniel Willmann 2011-10-18 cbna

Von SVN zu Git. Daniel Willmann <daniel@totalueberwachung.de> 2011-10-18 cbna Von SVN zu Git Daniel Willmann 2011-10-18 cbna Inhalt Einführung Git für SVN Benutzer Weitergehende Konzepte Zusammenfassung Daniel Willmann Von SVN zu Git 2 Über den Vortragenden

Mehr

Dezentrale Versionsverwaltung

Dezentrale Versionsverwaltung Dezentrale Versionsverwaltung mit GIT with that guy 14.08.2012 Lars Kumbier 1 Versionsverwaltung? 14.08.2012 Lars Kumbier 2 Versionsverwaltung? Speichern unterschiedlicher Entwicklungsschritte (oder Versionen)

Mehr

git Alexander Bernauer Rico Schiekel

git Alexander Bernauer <alex@copton.net> Rico Schiekel <fire@downgra.de> git Alexander Bernauer Rico Schiekel Big Picture Beispiel Open-Source-Projekt öffentliches Repository öffentlicher Fork push fetch push Haupt- Entwickler fetch Contributer

Mehr

Programmieren 2 06 Git-Teamwork und Egit

Programmieren 2 06 Git-Teamwork und Egit Programmieren 2 06 Git-Teamwork und Egit Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Die Bildquelle Die schönen Schemazeichnungen in dieser

Mehr

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014 Versionsverwaltung von Softwareartefakten 21. Oktober 2014 Überblick Wie verwaltet man Softwareartefakte? Versionskontrolle für verschiedene Softwareartefakte: Anforderungsdokumente, Modelle, Code, Testdateien,

Mehr

Einführung in Git. Dirk Deimeke. 19. August 2013. My own IT. ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23

Einführung in Git. Dirk Deimeke. 19. August 2013. My own IT. ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23 Einführung in Git Dirk Deimeke My own IT 19. August 2013 ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23 Inhalt 1 Etwas Theorie Basiswissen Git 2 Praxis Installation Erstes Repository Besonderheiten

Mehr

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git Einführung in Verteilte Versionskontrollsysteme am Beispiel von Git Diplominformatiker (BA), Git Benutzer seit 2009 Daniel Böhmer Leibniz Institut für Troposphärenforschung 8. März 2012 Verteilte Versionskontrollsysteme/Git

Mehr

Versionsverwaltung mit git. Christoph Knabe FB VI 17.04.2014

Versionsverwaltung mit git. Christoph Knabe FB VI 17.04.2014 Versionsverwaltung mit git Christoph Knabe FB VI 17.04.2014 Inhalt Probleme bei Software-Entwicklung Begriffe in git Geschichte von git Installation Was ist verteilt an git? Mischen verteilter Änderungen

Mehr

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 git & git-flow Jens Sandmann Warpzone Münster e.v. 14.12.2013 Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 Überblick 1 git Versionskontrolle Allgemein VCS mit git 2 git flow 3 git nutzen 4 Anhang

Mehr

WOZU VERSIONSKONTROLLE?

WOZU VERSIONSKONTROLLE? GIT AGENDA DES WORKSHOPS WOZU VERSIONSKONTROLLE? GIT GESCHICHTE GIT VERSTEHEN GIT INSTALLIEREN/KONFIGURIEREN BRANCHING/MERGING EXTERNE REPOSITORIES MIT GIT ARBEITEN VERBINDUNG ZUM EXTERNEN REPO AGENDA

Mehr

Wichtige Git-Befehle

Wichtige Git-Befehle 1. Neues Git-Repository anlegen: Lokales Repository (privat): Wichtige Git-Befehle cd < Name des zu verwaltenden Verzeichnisses > git init Diese Variante ist sowohl bei neuen als auch bereits belegten

Mehr

Spiel, Spaß und Spannung mit Git

Spiel, Spaß und Spannung mit Git Spiel, Spaß und Spannung mit Git 2-3 Std-Workshop Meine Person??? Spiel, Spaß und Spannung mit Git 2 Ziel Du kannst Git auf einem Windows- oder Linux- Rechner installieren und konfigurieren Du kennst die

Mehr

Verteilte Versionskontrolle mit GIT. 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln

Verteilte Versionskontrolle mit GIT. 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln Verteilte Versionskontrolle mit GIT 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln 1 über mich 32 Jahre alt Softwareentwickler bei der Firma GreenPocket in Köln Java EE Entwickler und Rails

Mehr

git verteilte Versionskontrolle

git verteilte Versionskontrolle git verteilte Versionskontrolle Jens Muecke Duesseldorf, 2. Oktober 2009 Content 1. Merkmale 2. Enstehungsgeschichte 3. Aufbau 4. Einfuehrung 5. Erfahrung und Tipps git Jens Muecke 2. Oktober 2009 2 01

Mehr

Eine Einführung in das verteilte Quelltextverwaltungssystem Git

Eine Einführung in das verteilte Quelltextverwaltungssystem Git Eine Einführung in das verteilte Quelltextverwaltungssystem Git B.Sc. Daniel Baulig Fachhochschule Frankfurt am Main University of Applied Sciences 2. November 2012 Übersicht 1 Einführung Über mich Versions-was?

Mehr

git Workshop Matthias Beyer Hochschule Furtwangen University matthias. beyer@ hs-furtwangen. de mail@ beyermatthias. de 19.

git Workshop Matthias Beyer Hochschule Furtwangen University matthias. beyer@ hs-furtwangen. de mail@ beyermatthias. de 19. git Workshop Matthias Beyer Hochschule Furtwangen University matthias. beyer@ hs-furtwangen. de mail@ beyermatthias. de 19. November 2013 Matthias Beyer (HFU) Git 19. November 2013 1 / 113 Overview 1 Einführung

Mehr

Versionsverwaltung für die KU Betriebssysteme. Eine Einführung

Versionsverwaltung für die KU Betriebssysteme. Eine Einführung Versionsverwaltung für die KU Betriebssysteme Eine Einführung 1 1 Versionsverwaltung? Wozu? Nachvollziehbarkeit Wer hat was wann geändert Wiederherstellbarkeit kaputteditiert Wartbarkeit Verschiedene Versionen

Mehr

Verteile Revisionskontrolle mit GIT

Verteile Revisionskontrolle mit GIT Verteile Revisionskontrolle mit GIT Christian Thäter ct@pipapo.org 25. Juni 2007 Über diesen Vortrag 1. Was ist Revisionskontrolle? 2. Wie funktioniert GIT? 3. GIT Workshop Fragen werden nach jedem Abschnitt

Mehr

Software Engineering 2 Versionsverwaltung

Software Engineering 2 Versionsverwaltung Software Engineering 2 Versionsverwaltung Prof. Dr. Axel Böttcher 7. Oktober 2012 Lernziele Die Grundlegenden Konzepte kennen Mit einem Versionsverwaltungssystem produktiv arbeiten können Ein geeignetes

Mehr

Linux Cafe 2013 11 11. Referent: Bernd Strößenreuther

Linux Cafe 2013 11 11. Referent: Bernd Strößenreuther Versionsverwaltung mit Git Linux Cafe 2013 11 11 Referent: Bernd Strößenreuther mailto:linux cafe@stroessenreuther.net Lizenz Sie dürfen dieses Dokument verwenden unter den Bedingungen der Creative Commons

Mehr

FS 2013. cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

FS 2013. cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer cs108 Programmierpraktikum Subversion Lukas Beck Cedric Geissmann Alexander Stiemer Probleme in der SW-Entwicklung Teamarbeit Gemeinsamer (und gleichzeitiger) Zugriff auf Ressourcen Dateiserver Datenverlust

Mehr

Git - Fast Version Control System

Git - Fast Version Control System Git - Fast Version Control System Sebastian Harl Astronomisches Institut der Universität Erlangen-Nürnberg 17. Oktober 2008 Was ist Git? VCS (Version Control

Mehr

Git-Workshop, Teil I

Git-Workshop, Teil I Git-Workshop, Teil I Freitagsrunde TechTalks, TU Berlin Julius Plenz 25. November 2011 Veröffentlicht unter der CreativeCommons-Lizenz (By, Nc, Sa) http://wiki.freitagsrunde.org/techtalks Bevor wir beginnen...

Mehr

Dr. R. Guderlei exxcellent solutions gmbh Tim Felgentreff HPI. Versionsmanagement. Zentral oder Verteilt?

Dr. R. Guderlei exxcellent solutions gmbh Tim Felgentreff HPI. Versionsmanagement. Zentral oder Verteilt? Dr. R. Guderlei exxcellent solutions gmbh Tim Felgentreff HPI Versionsmanagement Zentral oder Verteilt? Agenda Verteilte Versionsverwaltung mit Git Git in der Praxis Fazit Grundlegendes Verteilung: kein

Mehr

Versionsverwaltung von Softwareartefakten. Dr. Thorsten Arendt Marburg, 06. November 2014

Versionsverwaltung von Softwareartefakten. Dr. Thorsten Arendt Marburg, 06. November 2014 Versionsverwaltung von Softwareartefakten Dr. Thorsten Arendt Marburg, 06. November 2014 Überblick Warum ist die Versionsverwaltung von Softwareartefakten wichtig? Wie verwaltet man Softwareartefakte?

Mehr

Torsten Flatter inovex GmbH. "Git.NET" gibt's nicht?

Torsten Flatter inovex GmbH. Git.NET gibt's nicht? Torsten Flatter inovex GmbH "Git.NET" gibt's nicht? Vorstellung Torsten Flatter inovex GmbH.NET / C# seit 2004 VSS, CVS, SVN, TFS, hq, git Enterprise-Umfeld Agenda Überblick Grundlagen Einsatzbereiche

Mehr

Subversion und Trac. Michael Trunner. 23. Januar 2008. Fachschaft Informatik und Softwaretechnik Universität Stuttgart

Subversion und Trac. Michael Trunner. 23. Januar 2008. Fachschaft Informatik und Softwaretechnik Universität Stuttgart Subversion und Trac Michael Trunner Fachschaft Informatik und Softwaretechnik Universität Stuttgart 23. Januar 2008 Michael Trunner SVN & Trac (1/ 30) 1 Vorwort 2 Subversion alias SVN 3 Trac Michael Trunner

Mehr

Subversion als Werkzeug in der Software-Entwicklung Eine Einführung. Tobias G. Pfeiffer Freie Universität Berlin

Subversion als Werkzeug in der Software-Entwicklung Eine Einführung. Tobias G. Pfeiffer Freie Universität Berlin Subversion als Werkzeug in der Software-Entwicklung Eine Einführung Tobias G. Pfeiffer Freie Universität Berlin Seminar DG-Verfahren, 9. Juni 2009 Voraussetzungen/Ziele des Vortrags Situation Der Zuhörer

Mehr

Versionskontrollsysteme

Versionskontrollsysteme Versionskontrollsysteme Erfassung von Änderungen an Dateien Protokollierung von Änderungen Wiederherstellung alter Zustände Archivierung der gesamten Historie Koordinierung des gemeinsamen Zugriffs Verzweigung

Mehr

Gitting started. Christian Neukirchen. 14dec2011

Gitting started. Christian Neukirchen. 14dec2011 Gitting started Christian Neukirchen 14dec2011 Wieso Versionskontrolle? Erste Schritte Branches Zusammenarbeit Nicht-trivale Features GUI Ausblick Agenda Wieso Versionskontrolle? Den Verlauf eines Projekts

Mehr

Git Workshop. LiWoLi 2012. Florian Preinstorfer. Wolfgang Silbermayr 25.05.2012. http://silwol.net. http://nblock.org

Git Workshop. LiWoLi 2012. Florian Preinstorfer. Wolfgang Silbermayr 25.05.2012. http://silwol.net. http://nblock.org Git Workshop LiWoLi 2012 Florian Preinstorfer http://nblock.org Wolfgang Silbermayr http://silwol.net 25.05.2012 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Austria license

Mehr

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de CVS-Einführung Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation und Anforderung Sobald ein Softwaresystem anwächst, ergeben sich Probleme im Umgang mit dem Quell Code. CVS (Concurrent

Mehr

Git eine kurze Einführung

Git eine kurze Einführung Git eine kurze Einführung Malte Schmitz ~ Mai 2012 1 Ziele dieses Vortrags 1. Git installieren und einrichten können. 2. Idee von verteilter Versionskontrolle verstehen. 3. Idee der nichtlinearen Entwicklung

Mehr

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK Mercurial or how I learned to stop worrying and love the merge Ted Naleid Inhalt Einleitung Vergleich SVN / Mercurial Mercurial verstehen Zusammenarbeit mit Mercurial Demo Mercurial - Intro Entwickelt

Mehr

Git eine kurze Einführung. Malte Schmitz ~ Mai 2012

Git eine kurze Einführung. Malte Schmitz ~ Mai 2012 eine kurze Einführung ~ Mai 2012 Ziele dieses Vortrags 1. installieren und einrichten können. 2. Idee von verteilter Versionskontrolle verstehen. 3. Idee der nichtlinearen Entwicklung verstehen. 4. Mit

Mehr

Einführung in git. Johannes Gilger & Matthias Lederhofer. Rechen- und Kommunikationszentrum der RWTH Aachen Network Operation Center. 14.

Einführung in git. Johannes Gilger & Matthias Lederhofer. Rechen- und Kommunikationszentrum der RWTH Aachen Network Operation Center. 14. Johannes Gilger & Matthias Lederhofer der RWTH Aachen Network Operation Center 14. Juli 2010 Übersicht Begriffe in der Versionsverwaltung Unterschiede zentrale und dezentrale VCS Warum man git benutzen

Mehr

Versionkontrolle mit git

Versionkontrolle mit git Versionkontrolle mit git Wer bin ich? Wer bin ich? Federico Hernandez Wer bin ich? Darmstadt Wer bin ich? Göteborg, Schweden Wer bin ich? Mathematiker Wer bin ich? Senior Linux/Unix System Administrator

Mehr

Einführung in Subversion

Einführung in Subversion Einführung in Subversion Benjamin Seppke AB KOGS Dept. Informatik Universität Hamburg Was ist Subversion? Ein Server-basiertes Versions-Verwaltungs- System Ermöglicht mehreren Benutzern die gemeinsame

Mehr

Wissenschaftliches Programmieren

Wissenschaftliches Programmieren Wissenschaftliches Programmieren álint Aradi cms/people/b_aradi/ 8. Versionsverwaltung für mehrere Entwickler Grundproblematik der parallelen Entwicklung Zwei Entwickler arbeiten am selben Projekt (an

Mehr

GitLab als alternative Entwicklungsplattform zu Github.com

GitLab als alternative Entwicklungsplattform zu Github.com Entwicklungsplattform zu Github.com Chemnitzer Linux-Tage 2015 21. März 2015 Ralf Lang Linux Consultant/Developer lang@b1-systems.de - Linux/Open Source Consulting, Training, Support & Development GitLab

Mehr

Deployment Deployment Seite 1 / 25

Deployment Deployment Seite 1 / 25 Seite 1 / 25 Versionskontrolle Seite 2 / 25 Verteilte Versionskontrollsysteme Seite 3 / 25 Seite 4 / 25 Zusammenfassung Versionskontrolle Wir verwenden bei der Entwicklung das dezentralisierte Versionskontrollsystem

Mehr

Having fun with GIT. Chris Wewerka. Software Development Specialist

Having fun with GIT. Chris Wewerka. Software Development Specialist Having fun with GIT Chris Wewerka Software Development Specialist chris@ twitter.com/longliveenduro plus.google.com/s/chris wewerka GIT Agenda Verteilte Versionskontrollen - Facts Git Crashkurs Git und

Mehr

Versionskontrolle. Vortrag im Master-Praktikum MindStreams Sommersemester 2013. Michael Fiedler 30.

Versionskontrolle. Vortrag im Master-Praktikum MindStreams Sommersemester 2013. Michael Fiedler <michael.fiedler@fau.de> 30. Versionskontrolle Vortrag im Master-Praktikum MindStreams Sommersemester 2013 Michael Fiedler 30. April 2013 1 / 33 Überblick 1 Versionskontrolle 2 Git 3 GitFlow 4 Zusammenfassung

Mehr

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS 2012. Lehrstuhl i9, Prof. Dr. T.

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS 2012. Lehrstuhl i9, Prof. Dr. T. Versionsverwaltung GIT & SVN Alexander aus der Fünten Proseminar: Methoden und Werkzeuge, SS 2012 Lehrstuhl i9, Prof. Dr. T. Seidl RWTH Aachen Ablauf Was ist Versionsverwaltung? Arbeitsmodelle Lokale,

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme Grundkurs C++ Buildsysteme Buildsysteme Beispielhaftes Übersetzungsszenario: Verzeichnis tutorial7/ main.cpp, lcdrange.cpp, lcdrange.h *.cpp Kompilieren *.o *.h Grundkurs C++ 2 Headerdateien //blackbox.h

Mehr

Medieninformatik Praktikum. Jens Rademacher 14.07.2013

Medieninformatik Praktikum. Jens Rademacher 14.07.2013 mit mit Medieninformatik Praktikum 14.07.2013 1 / 13 mit 2 / 13 Nutzen von und an en mit Verwaltung unterschiedlicher Versionen einer Datei Protokollierung von Änderungen (Änderung, Zeitpunkt, Person)

Mehr

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann SVN-Einführung für das SEP DS und CM Julian Timpner, Stefan Brenner, Stephan Rottmann 23. April 2014 Subversion (SVN) - Allgemeines Versionsverwaltung für Dokumente Primär für reine Textdateien (*.txt,

Mehr

TortoiseGit Step by Step Step 1: git for windows herunterladen und installieren. http://msysgit.github.io/

TortoiseGit Step by Step Step 1: git for windows herunterladen und installieren. http://msysgit.github.io/ Step 1: git for windows herunterladen und installieren http://msysgit.github.io/ Step 1: git for windows herunterladen und installieren http://msysgit.github.io/ Step 1: git for windows herunterladen und

Mehr

Subversion. Einstieg in die. Versionskontrolle

Subversion. Einstieg in die. Versionskontrolle Versionskontrolle mit Subversion Einstieg in die Versionskontrolle Dipl.Ing.(FH) K. H. Marbaise Agenda Wozu Versionskontrolle? Was leistet Versionskontrolle? Historie zu Subversion Projekt Handling Installation

Mehr

Julius Plenz. Valentin Haenel. Git. Verteilte Versionsverwaltung für Code Dokumente. 2. Auflage. Open Source Press

Julius Plenz. Valentin Haenel. Git. Verteilte Versionsverwaltung für Code Dokumente. 2. Auflage. Open Source Press Valentin Haenel Julius Plenz Git Verteilte Versionsverwaltung für Code Dokumente 2. Auflage Open Source Press Inhaltsverzeichnis Vorwort 11 I Grundlagen 17 1 Einführung und erste Schritte 19 1.1 Grundbegriffe

Mehr

Abhängigkeiten und Git

Abhängigkeiten und Git Abhängigkeiten und Git Continuous Lifecycle 2013, 11.11.2013 René Preißel (@RenePreissel) Bjørn Stachmann (@old_stachi) Inhalt 1. Über welche Abhängigkeiten reden wir? 2. Wie versionieren? a. Ein großes

Mehr

Überblick. Verlässliche Echtzeitsysteme. Annahmen. Die Programmiersprache C. Auch heute noch viel sicherheitskritische Software in C

Überblick. Verlässliche Echtzeitsysteme. Annahmen. Die Programmiersprache C. Auch heute noch viel sicherheitskritische Software in C Überblick Verlässliche Echtzeitsysteme Übungen zur Vorlesung Florian Franzmann, Martin Hoffmann, Tobias Klaus 1 C-Quiz Teil I Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte

Mehr

15 Mit Feature-Branches entwickeln

15 Mit Feature-Branches entwickeln 123 15 Mit Feature-Branches entwickeln Wenn alle im Team auf einem gemeinsamen Branch entwickeln, entsteht eine sehr unübersichtliche First-Parent-Historie mit vielen Merge- Commits. Dadurch wird es schwierig,

Mehr

CVS. The open standard for version control. (Concurrent Versions System) Maik Zemann CVS

CVS. The open standard for version control. (Concurrent Versions System) Maik Zemann CVS CVS Maik Zemann CVS (Concurrent Versions System) The open standard for version control 1 Gliederung Gliederung Was ist CVS? Motivation? Konzept von CVS Die wichtigsten Befehle Merging Logging im Quelltext

Mehr

Versionsverwaltung mit Git

Versionsverwaltung mit Git Merlin Denker (348043), Stefan Srecec (293318) Betreuer: Thomas Ströder Abbildung 1: Git Logo[4] Dieser Ausarbeitung liegt das im Literaturverzeichnis unter [1] vermerkte Buch Pro Git von Scott Chacon

Mehr

Installation von Git für unsere OpenDCC/Fichtelbahn Entwickler Stephan Bauer, Christoph Schörner, Andreas Kuhtz

Installation von Git für unsere OpenDCC/Fichtelbahn Entwickler Stephan Bauer, Christoph Schörner, Andreas Kuhtz FICHTELBAHN Gitlab Installation von Git für unsere OpenDCC/Fichtelbahn Entwickler, Andreas Kuhtz 08.11.2013 Inhalt 1. Anmeldung bei Gitlab... 2 2. Installation von Git... 3 3. SSH Key erstellen... 6 4.

Mehr

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte Inhaltsverzeichnis SVN Windows Howto DI Werner Damböck (2008) public: svn://193.170.118.37/et/howto/svn-howto-htl-et.pdf source: svn://193.170.118.37/damb/howto/svn-howto-htl-et.odt 1 Revisionshierarchie...1

Mehr

GIT LERNEN MIT BEISPIELEN. Andy Theiler Xtreme Software GmbH www.x3m.ch. Eine Schritt für Schritt Anleitung für den GIT-Neuling

GIT LERNEN MIT BEISPIELEN. Andy Theiler Xtreme Software GmbH www.x3m.ch. Eine Schritt für Schritt Anleitung für den GIT-Neuling GIT LERNEN MIT BEISPIELEN Eine Schritt für Schritt Anleitung für den GIT-Neuling Andy Theiler Xtreme Software GmbH www.x3m.ch Version: 3. Februar 2015 INHALTSVERZEICHNIS EINLEITUNG Für wen ist dieses Dokument

Mehr

Verlässliche Echtzeitsysteme

Verlässliche Echtzeitsysteme Verlässliche Echtzeitsysteme Übungen zur Vorlesung Florian Franzmann, Tobias Klaus Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) https://www4.cs.fau.de

Mehr

Git-Workshop für Einsteiger

Git-Workshop für Einsteiger Sujeevan Vijayakumaran oder auch: Er, dessen Name nicht genannt wird. 18. Oktober 2014 Inhaltsverzeichnis Einführung Git-Repository starten Branching Remote-Repository Git auf dem Server Ende Über mich

Mehr

Concurrent Versions System (CVS)

Concurrent Versions System (CVS) Concurrent Versions System (CVS) Siarhei Trushyn Proseminar Unix Tools TUM 22. November 2005 Gliederung 1 Einfuhrung 2 Archiv 3 Projekt mit CVS 4 Momentaufnahmen 5 Zusammenfassung Was ist CVS? Denition

Mehr

Versionsverwaltung mit SVN

Versionsverwaltung mit SVN Versionsverwaltung mit SVN Jan-Philipp Kappmeier Technische Universität Berlin 11. 04. 2012 Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten an einem Projekt Arbeiten

Mehr

an Hand eines Beispiels Konsole

an Hand eines Beispiels Konsole Versionskontrolle an Hand eines Beispiels Konsole 1 / 14 PAUL SCHEREMET Inhaltsverzeichnis Einleitung 3 Das Repository anlegen (init) 4 Das erste Modul importieren (import) 5 Module auschecken (checkout

Mehr

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05] Inhaltsverzeichnis 1 Einleitung 3 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]....... 4 1.2 Eclipse als Java Entwicklungsumgebung................. 21 1 Einleitung Versionierung mit CVS Eclipse

Mehr

Sozio- Technische Systeme

Sozio- Technische Systeme Soziotechnische Informationssysteme 12. The Wisdom of Crowds Smart Crowds 1 Motivation Smart Crowd = Human Cloud Direkte Wertschöpfung in (sozialen) Netzen Monetär oder ideell Auftraggeber Worker Crowd

Mehr

Das Arbeitsverzeichnis enthält den aktuellen Stand des Projektes und alle noch nicht erfassten Änderungen.

Das Arbeitsverzeichnis enthält den aktuellen Stand des Projektes und alle noch nicht erfassten Änderungen. 1 Grundlagen Was ist Git? Git ist ein verteiltes Versionskontrollsystem, das Beginn 2005 von Linus Torvalds entwickelt wurde. Git ist Open Source. Durch ein Versionskontrollsystem ist es Entwicklern möglich,

Mehr

Versionsverwaltung mit Mercurial für Einsteiger

Versionsverwaltung mit Mercurial für Einsteiger Versionsverwaltung mit Mercurial für Einsteiger Chemnitzer Linuxtage 2009 Stefan Schwarzer, SSchwarzer.com info@sschwarzer.com Chemnitz, Germany, 2009-03-14 Versionsverwaltung mit Mercurial für Einsteiger

Mehr

1 Zugang zum GIT Repository

1 Zugang zum GIT Repository Inhaltsverzeichnis 1 Zugang zum GIT Repository...1 2 Git unter Windows installieren...2 3 Wie kann ich mithelfen...4 4 Schreibzugriff einrichten...7 4.1 SSH-Key anlegen...7 4.2 SSH Key laden...8 4.3 Repository

Mehr

Einstieg in Git. Lukáš Kubánek 19.10.2011

Einstieg in Git. Lukáš Kubánek 19.10.2011 Lukáš Kubánek 19.10.2011 1 EINFÜHRUNG EINFÜHRUNG Was ist Git? EINFÜHRUNG Intention der Entwicklung Me personally, I want to have something that is very repeatable and non-clever. Something I understand

Mehr

Verteilte Versionsverwaltung mit Git

Verteilte Versionsverwaltung mit Git 25012012 Vorlesung Softwareentwicklung in der industriellen Praxis Technische Universität Dresden Fakultät Informatik Einleitung Einleitung Über den Vortragenden Über den Vortragenden Communardo Software

Mehr

Git Eine Einführung. LinuxTag 2013, Berlin. Julius Plenz. 22. Mai 2013

Git Eine Einführung. LinuxTag 2013, Berlin. Julius Plenz. 22. Mai 2013 Git Eine Einführung LinuxTag 2013, Berlin Julius Plenz 22. Mai 2013 Ablauf Versionskontrolle: Zentral vs. Dezentral Historischer Kurzabriss zu Git Das Objektmodell wie funktioniert Git? Merge vs. Rebase

Mehr

GIT & SVN. Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Datenmanagement und -exploration Prof. Dr. T. Seidl

GIT & SVN. Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Datenmanagement und -exploration Prof. Dr. T. Seidl Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Datenmanagement und -exploration Prof. Dr. T. Seidl Proseminar: Methoden und Werkzeuge GIT & SVN Versionsverwaltung Alexander aus der Fünten

Mehr

Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git. Oliver Kleine Institut für Telematik, Universität zu Lübeck

Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git. Oliver Kleine Institut für Telematik, Universität zu Lübeck Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git Oliver Kleine Institut für Telematik, Universität zu Lübeck Build-Management in JAVA 3 Build-Management? Wozu? Traditionelle manuelle

Mehr

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit und ein Traumpaar für Pre-Tested Commit Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Steffen Schäfer Steffen Schluff Version:.0 www.oio.de info@oio.de Gliederung Pre-tested commit und

Mehr

Eclipse und Java Einheit 05: Arbeiten im Team: CVS

Eclipse und Java Einheit 05: Arbeiten im Team: CVS Eclipse und Java Einheit 05: Arbeiten im Team: CVS Laith Raed Ludwig-Maximilians-Universität München Institut für Informatik: Programmierung und Softwaretechnik Prof.Wirsing Inhaltsverzeichnis 1 Source

Mehr

Softwareprojekt - Einführung

Softwareprojekt - Einführung Softwareprojekt - Einführung Danny Götte danny.goette@tu-ilmenau.de Softwareprojekt - Einführung FG System- und Software-Engineering Prof. Armin Zimmermann Armin.Zimmermann@tu-ilmenau.de Ablauf Einführung

Mehr

AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM

AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM 09.07.2015 NATALIE WENZ JAN GERTGENS Vorstellung Natalie Wenz Studium Medieninformatik an der Hochschule Reutlingen mit Abschluss als Master

Mehr

Branching und Merging mit Visual Studio Team System

Branching und Merging mit Visual Studio Team System Branching und Merging mit Visual Studio Team System IN EINER IDEALEN WELT GIBT ES Ein Entwicklungsteam Ein Projekt welches deployt werden muss Eine Deadline Kunden warten bis das Projekt komplett fertig

Mehr

Klicken Sie, um das Format des Titeltextes zu bearbeiten

Klicken Sie, um das Format des Titeltextes zu bearbeiten Klicken Sie, um das Format des Titeltextes zu bearbeiten Versionsverwaltung mit SVN Eike Slogsnat 18.01.2013 1 Gliederung Wichtige Linux-Befehle Aufgaben einer Versionsverwaltung Struktur Befehle Verzweigungen

Mehr

Zentrale und Dezentrale Versionsverwaltung in Open Source Projekten Konzeptvorstellung Masterarbeit

Zentrale und Dezentrale Versionsverwaltung in Open Source Projekten Konzeptvorstellung Masterarbeit Zentrale und Dezentrale Versionsverwaltung in Open Source Projekten Konzeptvorstellung Masterarbeit Jana von dem Berge Institut für Informatik FU Berlin 05.12.08 Zentrale und Dezentrale Versionsverwaltung

Mehr

Versionskontrolle mit Mercurial. Michael Gebetsroither

Versionskontrolle mit Mercurial. Michael Gebetsroither <michael.geb@gmx.at> Versionskontrolle mit Mercurial Michael Gebetsroither Inhalt Welche Systeme gibt es? - Genauerer Überblick. Mercurial: - Einführung - Grundlagen test Versionskontrollsysteme CVS Mercurial

Mehr