Seminar. Bachelor Wirtschaftsinformatik



Ähnliche Dokumente
git & git-flow Jens Sandmann Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow / 31

Git II. Dezentrale Versionsverwaltung im Team

Praktikum Ingenieurinformatik (PI)

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

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn

Medieninformatik Praktikum. Jens Rademacher

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

Moodle aktuell halten mit Git

Versionsverwaltung mit SVN

git Änderungen verwalten mit git

Software Engineering in der Praxis

Apache Subversion (SVN)

Versionskontrolle. Verteilte Versionskontrollsysteme. Richard Madsack. 25. November Versionskontrolle. Richard Madsack.

Einführung in Subversion

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

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

PROJEKTVERZEICHNIS EINRICHTEN

Einfu hrung in Subversion mit TortoiseSVN

Versionierung und Bugtracking mit Git(Hub)

WinCVS Version 1.3. Voraussetzung. Frank Grimm Mario Rasser

Sourcecodeverwaltung

Konfigurationsdateien mit Git verwalten

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014

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

Versionsverwaltung mit Mercurial für Einsteiger

Studiengang Bachelor Wirtschaftsinformatik

Quellcodeverwaltung mit SubVersion

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

Von SVN zu Git. Daniel Willmann cbna

CVS-Einführung. Sebastian Mancke,

Erfolgreicher Ums9eg auf Git

Kurzanleitung zu. von Daniel Jettka

Versionsverwaltung mit git. Christoph Knabe FB VI

Git in großen Projekten

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

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand Ihre HTK-Filiale Michelstadt

Proseminar Unix-Tools CVS Daniel Weber & Zhen Zhang Betreuer: Volker Baier

Deployment Deployment Seite 1 / 25

Programmieren 2 06 Git-Teamwork und Egit

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

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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Wie benutzt man TortoiseSVN

Versionskontrollsysteme. Uwe Berger & Markus Dahms <bralug@bralug.de>

eprints-anwendertreffen 2013

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

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

Linux Cafe Referent: Bernd Strößenreuther

Git-Workflows im Alltag

Benutzerverwaltung Business- & Company-Paket

Migration von Subversion nach Mercurial und Einsatz dezentraler Versionskontrolle in Unternehmen

all media Publikationssysteme Entwicklung und Integration

Branching und Merging mit Visual Studio Team System

AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM

dpa-infocom - Datenlieferung

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

HSR git und subversion HowTo

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Man liest sich: POP3/IMAP

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

PHPNuke Quick & Dirty

Collax Archive Howto

Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

e-books aus der EBL-Datenbank

Benutzung der Avid Liquid Edition Schnittplätze an der Universität Innsbruck

SICHERN DER FAVORITEN

transfer.net Erste Schritte mit transfer.net

SJ OFFICE - Update 3.0

Kurzanleitung Verwendung von USB-Sticks

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Die Lernumgebung des Projekts Informationskompetenz

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

Collax -Archivierung

Projekte Packen, Kopieren und Versenden

Serviceanweisung Austausch Globalsign Ausstellerzertifikate

Mehrere PDF-Dokumente zu einem zusammenfügen

OpenMAP WEBDrive Konfiguration. Oxinia GmbH , Version 1

IAWWeb PDFManager. - Kurzanleitung -

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Enes Kurnaz, Oliver Nagel Institut für Mathematik und Informatik. Versionsverwaltung mit Git

Updatehinweise für die Version forma 5.5.5

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Einspielanleitung für das Update DdD Cowis backoffice DdD Cowis pos

Anleitungen zum Publizieren Ihrer Homepage

Document Management. Überblick DM

Eine Anleitung, wie Sie Mozilla Thunderbird 2 installieren und konfigurieren können. Installation Erstkonfiguration... 4

Simulationsprojekte einfacher mit Subversion und Trac

Arbeiten mit dem Versionsverwaltungssystem. Jannik Kramer Proseminar Werkzeuge für das wissenschaftliche Arbeiten

Betriebssystem Windows - SSH Secure Shell Client

Versionskontrolle mit Subversion

SharePoint Workspace 2010 Installieren & Konfigurieren

Kleines Handbuch zur Fotogalerie der Pixel AG

Subversion. 17. Oktober Subversion. Norbert Perk. Warum Versionsverwaltung? Wie funktioniert. Was ist Subversion? Subversion- Server.

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

C++ mit Eclipse & GCC unter Windows

DOKUMENTATION VOGELZUCHT 2015 PLUS

Transkript:

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

Überblick 1. Motivation 2. Fachbegriffe zur Versionierung 3. Prinzip der Versionsverwaltung 4. Arten der Versionsverwaltungen 5. Branching und Merging 6. Versionierungssystem Git 7. GitHub 8. Fazit Christian Ondreka Versionsverwaltung mit Git 2

Motivation Änderungen rückgängig machen Projekt auf vorherigen Stand zurücksetzen Wiederherstellung gelöschter Dateien Riskante Änderungen ausprobieren Testen experimenteller Änderungen Christian Ondreka Versionsverwaltung mit Git 3

Faktor Teamarbeit Backup-Software ausreichend Aber: Oftmals Teamarbeit Folgen: Mehr Anforderungen Backup-Software ungeeignet Weitere Anforderungen an Versionierungssysteme: Änderungen anderer Teammitglieder mitbekommen Isolierung experimenteller Änderungen am Projekt Christian Ondreka Versionsverwaltung mit Git 4

Überblick 1. Motivation 2. Fachbegriffe zur Versionierung 3. Prinzip der Versionsverwaltung 4. Arten der Versionsverwaltungen 5. Branching und Merging 6. Versionierungssystem Git 7. GitHub 8. Fazit Christian Ondreka Versionsverwaltung mit Git 5

Fachbegriffe Repository: Serverbasierte Datenstruktur zur Speicherung von Dateien und Verzeichnissen Commit: Festgeschriebener Versionsstand Branch: Ein einzelner Entwicklungszweig Revision: Fachbegriff für einen bestimmten Entwicklungsstand z. B. der eines Entwicklers Update: Synchronisation des Arbeitsverzeichnisses mit dem Repository Workspace: Ein Verzeichnis mit einem Repository Christian Ondreka Versionsverwaltung mit Git 6

Überblick 1. Motivation 2. Fachbegriffe zur Versionierung 3. Prinzip der Versionsverwaltung 4. Arten der Versionsverwaltungen 5. Branching und Merging 6. Versionierungssystem Git 7. GitHub 8. Fazit Christian Ondreka Versionsverwaltung mit Git 7

Prinzip der Versionsverwaltung Quelle: http://www.computer-automation.de/steuerungsebene/steuern-regeln/artikel/79313/1/ Christian Ondreka Versionsverwaltung mit Git 8

Prinzip der Versionsverwaltung Repository ist Anlaufstelle für Entwickler Projektdaten werden im Repository abgelegt Verbale Erklärung der Abbildung von Folie 8: Jeder Entwickler hat Zugriff auf ein zentrales Repository Vor Arbeitsbeginn: Daten aus Repository laden (Fachbegriff: Auschecken) Nach fertiger Arbeit: Dateien im Repository ablegen (Fachbegriff: Einchecken) Christian Ondreka Versionsverwaltung mit Git 9

Überblick 1. Motivation 2. Fachbegriffe zur Versionierung 3. Prinzip der Versionsverwaltung 4. Arten der Versionsverwaltungen 5. Branching und Merging 6. Versionierungssystem Git 7. GitHub 8. Fazit Christian Ondreka Versionsverwaltung mit Git 10

Arten der Versionsverwaltung Es gibt 3 Arten von Versionsverwaltungen: Lokale Versionsverwaltung Zentrale Versionsverwaltung Dezentrale Versionverwaltung Hauptunterschiede liegen jeweils in... der Datenhaltung sowie der Architektur Christian Ondreka Versionsverwaltung mit Git 11

Lokale Versionsverwaltung Sehr einfache und primitive Lösung Projekthistorie wird lokal auf dem eigenen Rechner angelegt und verwaltet Findet in der Praxis keine Anwendung Kontraproduktiv für erfolgreiche Teamarbeit Nachteil: Falls Festplatte des Rechners ausfällt, sind alle Projektdaten verloren Christian Ondreka Versionsverwaltung mit Git 12

Zentrale Versionsverwaltung Quelle: http://www.fh-wedel.de/~si/seminare/ws08/ausarbeitung/06.vvw/vvw1.htm Christian Ondreka Versionsverwaltung mit Git 13

Zentrale Versionsverwaltung Sehr einfache und primitive Lösung Projekthistorie wird lokal auf dem eigenen Rechner angelegt und verwaltet Sehr populäre Lösung bei Projekten Namhafter Vertreter sind Subversion Bazaar Nachteil: Internetverbindung notwendig Christian Ondreka Versionsverwaltung mit Git 14

Dezentrale Versionsverwaltung Quelle: http://www.fh-wedel.de/~si/seminare/ws08/ausarbeitung/06.vvw/vvw1.htm Christian Ondreka Versionsverwaltung mit Git 15

Dezentrale Versionsverwaltung Jedes Teammitglied hat Arbeitsverzeichnis mit Projektdateien und lokalen Repository Unterschiede zur zentralen Verwaltung: Existenz eines lokalen Repositorys Änderungen landen zuerst im lokalen Repository und werden später in ein Austausch-Repository übertragen Vorteil: Keine Internetanbindung nötig Git ist ein dezentrales Verwaltungstool Christian Ondreka Versionsverwaltung mit Git 16

Überblick 1. Motivation 2. Fachbegriffe zur Versionierung 3. Prinzip der Versionsverwaltung 4. Arten der Versionsverwaltungen 5. Branching und Merging 6. Versionierungssystem Git 7. GitHub 8. Fazit Christian Ondreka Versionsverwaltung mit Git 17

Branching und Merging Branches entstehen durch (gleichzeitiges) paralleles Arbeiten am selben Branch (Illustration siehe Folie 19) Beispiel: Drei Entwickler nehmen Änderungen ausgehend von einem Basisstand (Master-Branch) vor Folge: Drei Branches entstehen und müssen zusammengeführt werden Die Zusammenführung erfolgt innerhalb eines Commits (Stichwort Merge-Commit) Nach der Zusammenführung sind alle Entwickler auf dem gleichen Stand Christian Ondreka Versionsverwaltung mit Git 18

Illustration Branching und Merging Quelle: Preißel, René/Stachmann, Bjørn: Git. 2012, S. 6 Christian Ondreka Versionsverwaltung mit Git 19

Isolation von Änderungen/Features Quelle: Preißel, René/Stachmann, Bjørn: Git. 2012, S. 6 Christian Ondreka Versionsverwaltung mit Git 20

Überblick 1. Motivation 2. Fachbegriffe zur Versionierung 3. Prinzip der Versionsverwaltung 4. Arten der Versionsverwaltungen 5. Branching und Merging 6. Versionierungssystem Git 7. GitHub 8. Fazit Christian Ondreka Versionsverwaltung mit Git 21

Das Versionierungssystem Git Dezentrales Versionierungssystem Steht kostenlos zur Verfügung Download-Link: http://git-scm.com/downloads 2005 von Linus Torvalds geschrieben Torvalds Intention: Einfachere und sichere Entwicklung des Linux-Kernels ermöglichen Durchführung von Branching und Merging gestaltet sich sehr einfach und sicher Christian Ondreka Versionsverwaltung mit Git 22

Benutzung von Git Bedienung über Kommandozeile Nutzung grafischer Oberflächen gitk git-gui Qgit gitg Giggle Christian Ondreka Versionsverwaltung mit Git 23

Einrichtung Bevor die produktive Arbeit beginnt, muss Git mitgeteilt werden, wer man ist Zweck: Zur Identifikation des Autors einer Revision config-befehl eignet sich zur Erstellung einer neuen Identität Identifikation mit Name und E-Mail (siehe unten) Christian Ondreka Versionsverwaltung mit Git 24

Wichtige Befehle für Git Befehl git init git add [DATEIEN] git rm [DATEIEN] git status git log git clone git pull git push Kurzbeschreibung Erstellt ein neues Git-Repository Fügt Dateien dem nächsten stattfindenden Commit hinzu Markiert Dateien als gelöscht für das nächste stattfindende Commit Zeigt Änderungen seit dem letzten Commit Zeigt die Historie des Projekts an Kopiert das Arbeitsverzeichnis eines Entwicklers inkl. enthaltenem Repository Holt Änderungen anderer Entwickler ab und aktualisiert die eigene lokale Revision Überträgt ein neues Commit ins zentrale Repository (Austausch-Repository) Christian Ondreka Versionsverwaltung mit Git 25

Demonstration am Rechner Christian Ondreka Versionsverwaltung mit Git 26

Überblick 1. Motivation 2. Fachbegriffe zur Versionierung 3. Prinzip der Versionsverwaltung 4. Arten der Versionsverwaltungen 5. Branching und Merging 6. Versionierungssystem Git 7. GitHub 8. Fazit Christian Ondreka Versionsverwaltung mit Git 27

GitHub Gründung erfolgte im Februar 2008 Hostingdienst für Softwareentwicklungsprojekte Erfreut sich großer Beliebtheit Anlegen von Repositories möglich Öffentliche Repositories Private Repositories mit geschütztem Zugriff Private Repositories sind kostenpflichtig Derzeit 3 Millionen Nutzer (Stand: Januar 2013) Christian Ondreka Versionsverwaltung mit Git 28

Features von GitHub Grafische Darstellung aller Aktivitäten einzelner Entwickler SSH-Zugang sowie HTTPS-Zugang möglich Einsehen der Inhalte von öffentlichen Repositories Inhalte öffentlicher Repositories herunterladbar Network graph: Einsicht aller Branches und Abspaltungen anhand einer Zeitachse Commit-Hooks: Bestimmte Aktionen nach Commits wie z. B. E-Mail-Benachrichtigung an Kollegen Christian Ondreka Versionsverwaltung mit Git 29

Überblick 1. Motivation 2. Fachbegriffe zur Versionierung 3. Prinzip der Versionsverwaltung 4. Arten der Versionsverwaltungen 5. Branching und Merging 6. Versionierungssystem Git 7. Fazit Christian Ondreka Versionsverwaltung mit Git 30

Fazit Schnelles und effizientes Arbeiten möglich Sehr ausgereifter Eindruck Kann kostenlos heruntergeladen werden Spielt immer größere Rolle in Projekten Vorteil: Keine Internetverbindung notwendig Verteilte Versionsverwaltungen sind die Zukunft Marktanteile von Git & Co werden steigen Hype um Git könnte Tod anderer Produkte bedeuten Christian Ondreka Versionsverwaltung mit Git 31

Ende Vielen Dank für die Aufmerksamkeit! Noch Fragen? Christian Ondreka Versionsverwaltung mit Git 32