Versionskontrollsysteme



Ähnliche Dokumente
Revisionskontrollsystem GIT

Praktikum Ingenieurinformatik (PI)

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

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

Versionsverwaltung mit git. Christoph Knabe FB VI

Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

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

git Änderungen verwalten mit git

Deployment Deployment Seite 1 / 25

Moodle aktuell halten mit Git

Linux Cafe Referent: Bernd Strößenreuther

Versionskontrolle mit Subversion

Having fun with GIT. Chris Wewerka. Software Development Specialist

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

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

Einführung in Subversion

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

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

Versionskontrolle mit Mercurial. Michael Gebetsroither

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

Versionsverwaltung mit SVN

Benutzer und Rechte Teil 1, Paketverwaltung, SSH

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

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

Apache Subversion (SVN)

Von SVN zu Git. Daniel Willmann cbna

WOZU VERSIONSKONTROLLE?

Versionierung und Bugtracking mit Git(Hub)

Software Engineering in der Praxis

Medieninformatik Praktikum. Jens Rademacher

Git II. Dezentrale Versionsverwaltung im Team

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

Linux im Studium. Serbest Hammade / Resh, Christian Sturm. Do, 15. November 2012

Benutzer und Rechte Teil 1

Git-Workflows im Alltag

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

Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN)

Werkzeuge für das Softwarekonfigurationsmanagement

Gitting started. Christian Neukirchen. 14dec2011

Konfigurationsdateien mit Git verwalten

Kurzanleitung zu. von Daniel Jettka

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

Comtarsia SignOn Familie

Virtual Desktop Infrasstructure - VDI

Einrichten eines SSH - Server

Eine Einführung in das verteilte Quelltextverwaltungssystem Git

FTP-Server einrichten mit automatischem Datenupload für

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

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Programmieren 2 06 Git-Teamwork und Egit

Versionkontrolle mit git

Versionsverwaltung mit Git Kurze Einführung am Beispiel von L A TEX. E. Frank Sandig

Versionsverwaltung mit Git

Versionsverwaltung. Seminar Softwareentwicklung in der Wissenschaft Robert Wiesner

Entwicklungswerkzeuge

Agenda. Ziel Problematik OS-Installation Softwareverteilung Inventarisierung Stufenplan

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

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

Dokumentation owncloud PH Wien

Redmine, das Projekt Management Werkzeug

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

Universität Leipzig - Softwaretechnik Praktikum 2014/2015 Installationsanleitung zum Projekt: Ein kartenbasiertes Multiplayer -Spiel

Softwareverteilung. mit. m23

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

User Mode Linux. Sven Wölfel 15. April 2005

FTP-Leitfaden Inhouse. Benutzerleitfaden

SSH Authentifizierung über Public Key

FTP-Leitfaden RZ. Benutzerleitfaden

Linux und Eclipse Einführung SysArch Tutoren WS 2008/2009 Atanas Dimitrov, Johannes Weiss

Subversion. von Stefan Arndt, Christian Autermann und Dustin Demuth. 5. November 2009

Verteiltes Dokumentenmanagement

Herbstsemester cs106 Informatiklabor Teil 4: Partitionierung & Linux Installation. P.Huber@stud.unibas.ch

Netbeans 6.1 mit SVN Server unter Debian etch mit Windows Clients

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

Eprog Starthilfe. 5. Oktober Einleitung 2

Installation Linux agorum core Version 6.4.5

Versionsverwaltung mit Mercurial für Einsteiger

Software Engineering I

LOG-FT BAG Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung

Installationsanleitung für pcvisit Server (pcvisit 12.0)

HSR git und subversion HowTo

IMAP und POP. Internet Protokolle WS 12/13 Niklas Teich Seite 1

Dezentrale Versionsverwaltung

Installation Linux agorum core Version 6.4.8

1 Zugang zum GIT Repository

Versionsmanagement mit Subversion

Vorstellung - "Personal Remote Desktop" für (fast) alle Hardwareplattformen und Betriebssysteme

Sourcecodeverwaltung

UserManual. Handbuch zur Konfiguration von X-Lite. Autor: Version: Hansruedi Steiner 1.1, Februar 2014

Erfolgreicher Ums9eg auf Git

Versionsverwaltung für r Visual Studio.NET mit Subversion

peer-to-peer Dateisystem Synchronisation

Anleitung Captain Logfex 2013

Backups einfach gemacht mit Backup Manager

eprints-anwendertreffen 2013

Git in großen Projekten

Transkript:

Versionskontrollsysteme Erfassung von Änderungen an Dateien Protokollierung von Änderungen Wiederherstellung alter Zustände Archivierung der gesamten Historie Koordinierung des gemeinsamen Zugriffs Verzweigung in mehrere Branches 1/ 18 Softwareentwicklung unter Linux v1.1

Funktionsweisen Lokale Versionsverwaltung Zentrale Versionsverwaltung Verteilte Versionsverwaltung 2/ 18 Softwareentwicklung unter Linux v1.1

Lokale Versionsverwaltung Oft nur einzelne Datei versioniert Änderungen in Datei selbst gespeichert Werkzeuge: SCCS, RCS Beispiele Technische Zeichnung mit Änderungsindex 3/ 18 Softwareentwicklung unter Linux v1.1

Zentrale Versionsverwaltung Als Client-Server System aufgebaut Ein zentraler Server speichert komplette Historie optional: Read-Only Zugriff für Fremduser optional: Web-Interface Entwickler jeweils nur eine Version Zugriff auch per Netzwerk möglich Werkzeuge cvs, svn (OpenSource) AlienBrain, Perforce, Team Foundation,... 4/ 18 Softwareentwicklung unter Linux v1.1

Verteilte Versionsverwaltung Jeder Entwickler hat komplette Historie Zusätzlich zentraler Server möglich Änderungen zwischen Entwicklern austauschen optional: Read-Only Zugriff für Fremduser optional: Web-Interface Werkzeuge git, GNU arch, Mercurial, Bazaar (OpenSource) BitKeeper 5/ 18 Softwareentwicklung unter Linux v1.1

Wie Git das? Übersicht Installation Dezentrale Verwaltung Verzweigte Entwicklung Datenaustausch Markierte Revisionen Interoperabilität Web-Interface 6/ 18 Softwareentwicklung unter Linux v1.1

Git - Übersicht Freie Software Verteilte Versionsverwaltung von Dateien Entwickelt zur Verwaltung des Linux Kernel Quelltextes Betriebsysteme Linux, Solaris, Mac OS X, FreeBSD, Windows (Cygwin, Msysgit, TortoiseGit-Shell) Aktuell eingesetzt in vielen OpenSource Projekten Amarok, Android, BusyBox, Debian, DragonFly BSD, Eclipse, Erlang, Fedora, Git, Gnome, KDE, Qt, Ruby, Kurzanleitung: http://hlb-labor.de/git/ Webseite: http://git-scm.com/ 7/ 18 Softwareentwicklung unter Linux v1.1

Git - Installation Debian/ Ubuntu sudo apt-get install git opensuse sudo zypper install git Windows http://de.wikipedia.org/wiki/cygwin http://de.wikipedia.org/wiki/tortoisegit 8/ 18 Softwareentwicklung unter Linux v1.1

Git - Dezentrale Verwaltung Jeder Benutzer hat eigenes Repository > git pull Holt neuesten Stand vom Zentralrepository Kann Merge ausführen! > git commit sichert aktuellen Stand lokal kommentiert aktuellen Stand erzeugt einzigartige Commit-ID (Hexzahl) > git push kopiert neuesten Stand auf Zentralrepository 9/ 18 Softwareentwicklung unter Linux v1.1

Git - Verzweigte Entwicklung 1/3 Verzweigung in der Entwicklung > git checkout -b B1 Verzweigung ab einem älteren Zustand > git checkout -b B2 2 Verzweigungspunkt: Branchname/ Commit-ID/ Tag Alle verfügbaren Branches auflisten > git branch -r Auf anderen Branch wechseln > git checkout BRANCH_NAME Branch zum Server hochladen > git push origin BRANCH_NAME 4 B1 1 2 3 1 2 3 4 B2 5 10/ 18 Softwareentwicklung unter Linux v1.1

Git - Verzweigte Entwicklung 2/3 User A > git clone :Repo auf Branch origin master User B > git clone :Repo auf Branch origin master > git checkout -b B1 Branch B1 lokal erstellt Wechsel zu Branch B1 > git push origin B1 Branch auf Server laden > git pull neuer Branch entdeckt > git branch -r alle Branches auflisten > git checkout B1 Wechsel zu Branch B1 11/ 18 Softwareentwicklung unter Linux v1.1

Git - Verzweigte Entwicklung 3/3 Implizite Verzweigung User A > git commit -a -m C1 User B > git commit -a -m C2 > git push C1 fehlt Impliziter Branch User B > git pull > git commit -a automatischer Merge von C1 User A > git pull A jetzt auf Stand M C C C C1 C1 C2 C1 C2 M 12/ 18 Softwareentwicklung unter Linux v1.1

Git Datenaustausch 1/2 International durch verschiedene Protokolle Git-Protokoll über TCP Port 9418 SSH (verschlüsselt) HTTP HTTPS FTP rsync EMail (Patches) 13/ 18 Softwareentwicklung unter Linux v1.1

Git Datenaustausch 2/2 Verschlüsselte Kommunikation per SSH Benutzer erzeugt RSA Schlüsselpaar > ssh-keygen -t rsa -C VORNAME.NACHNAME ~/.ssh/id_rsa ~/.ssh/id_rsa.pub Publickey auf Server kopieren Bei Anmeldung wird Private Key benötigt > git clone gitosis@hlb-labor.de:repository Server verschlüsselt Rechenaufgabe mit Public Key Client entschlüsselt mit Private Key und sendet Ergebnis Server akzeptiert Client Private Key Public Key 14/ 18 Softwareentwicklung unter Linux v1.1

Git - Markierte Revisionen > git tag MARKIERUNG Definiert Markierung für aktuellen Stand Markierung beschreibt z.b. Releaseversion Markierung später für Branch nutzbar > git tag listet alle Markierungen auf > man git-tag 15/ 18 Softwareentwicklung unter Linux v1.1

Git - Interoperabilität Git's das auch anders? Kompatibilitätsinterface GNU Arch (git-archimport) svn (git-svn) cvs (git-cvsexportcommit, git-cvsimport git-cvsserver) Darcs (darcs-fastconvert, darcs2git) Quilt (git-quiltimport) manpages 16/ 18 Softwareentwicklung unter Linux v1.1

Git - Web-Interface Nice looking access to git OpenSource Software (some) gitweb is part of git distribution http://git-scm.com/ ViewGit is a total PHP rewrite http://viewgit.fealdia.org/ CGit written in C http://hjemli.net/git/cgit/ gitalist is written in Perl http://www.gitalist.com/ Existing Webhoster (one) GitHub Closed Source hoster http://github.com/ 17/ 18 Softwareentwicklung unter Linux v1.1

Fragen? 18/ 18 Softwareentwicklung unter Linux v1.1