Revisionskontrollsystem GIT

Ähnliche Dokumente
Versionskontrollsysteme

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

Versionsverwaltung. Seminar Softwareentwicklung in der Wissenschaft Robert Wiesner

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

Having fun with GIT. Chris Wewerka. Software Development Specialist

Linux Cafe Referent: Bernd Strößenreuther

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

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

Versionsverwaltung mit git. Christoph Knabe FB VI

Versionierung und Bugtracking mit Git(Hub)

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

Praktikum Ingenieurinformatik (PI)

Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

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

Versionskontrolle mit Mercurial. Michael Gebetsroither

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

WOZU VERSIONSKONTROLLE?

Gitting started. Christian Neukirchen. 14dec2011

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

Versionsverwaltung mit Git

DNUG FN TOBIAS ALLWEIER

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

git Änderungen verwalten mit git

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

Medieninformatik Praktikum. Jens Rademacher

Versionsverwaltung. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

Versionskontrolle mit Subversion

Programmieren 1 11 Versionsverwaltung mit Git - Grundlagen -

Versionsverwaltung mit git

Versionkontrolle mit git

Git-Grundlagen für Entwickler. Thomas Claudius

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

Thomas Rau (mit Material von Peter Brichzin) Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten

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

Softwareentwicklung I (IB) Versionsverwaltung mit Git

Git - Fast Version Control System

Benutzer und Rechte Teil 1, Paketverwaltung

Deployment Deployment Seite 1 / 25

Einführung in Subversion

Versionskontrolle mit Subversion

Versionsverwaltung mit GIT

Moodle aktuell halten mit Git

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

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

Versionskontrolle: Subversion und Git

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

git verteilte Versionskontrolle

Verteilte Versionskontrolle mit Mercurial (DVCS)

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

Dezentrale Versionsverwaltung

Apache Subversion (SVN)

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

TortoiseGit Step by Step Step 1: git for windows herunterladen und installieren.

Verteilte Versionskontrolle mit Mercurial

Versionsverwaltung mit SVN

Einführung in Subversion

Linux Installation Party

Programmieren 2 05 Versionsverwaltung mit Git

Versionsmanagement. Software(technik)praktikum: Vorlesung 3: Versionsmanagement

Java User Group München

Versionsmanagement mit Subversion

Versionskontrolle mit Git

C/C++-Programmierung

Von SVN zu Git. Daniel Willmann cbna

1 Zugang zum GIT Repository

Eine Einführung in das verteilte Quelltextverwaltungssystem Git

Apache Subversion (SVN)

Versionsverwaltung von Softwareartefakten. Dr. Thorsten Arendt Marburg, 05. November 2015

Versionskontrolle. Warum?... Und vor allem: Womit?

Von SUSE zu opensuse... und weiter... Marcus Meissner KNF Mitglied und Teamleiter Security bei der SUSE Linux Products GmbH

Git II. Dezentrale Versionsverwaltung im Team

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

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

EGit: Die effiziente Git- Integration in Eclipse

Versionsverwaltung mit Git

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

Praktische Einführung in die Versionsverwaltung mit Eclipse

Git Workshop. LiWoLi Florian Preinstorfer. Wolfgang Silbermayr

GNU/Linux für Neulinge

Verteile Revisionskontrolle mit GIT

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

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

Transkript:

Revisionskontrollsystem GIT Diplom Informatiker Gregor Rebel 1/ 19 Revisionskontrollsystem GIT v1.2

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 2/ 19 Revisionskontrollsystem GIT v1.2

Funktionsweisen Lokale Versionsverwaltung Zentrale Versionsverwaltung Verteilte Versionsverwaltung 3/ 19 Revisionskontrollsystem GIT v1.2

Lokale Versionsverwaltung Oft nur einzelne Datei versioniert Änderungen in Datei selbst gespeichert Werkzeuge: SCCS, RCS Beispiele Technische Zeichnung mit Änderungsindex 4/ 19 Revisionskontrollsystem GIT v1.2

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,... 5/ 19 Revisionskontrollsystem GIT v1.2

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 6/ 19 Revisionskontrollsystem GIT v1.2

Wie Git das? Übersicht Installation Dezentrale Verwaltung Verzweigte Entwicklung Datenaustausch Markierte Revisionen Interoperabilität Web-Interface 7/ 19 Revisionskontrollsystem GIT v1.2

Git - Übersicht Freie Software Verteilte Versionsverwaltung von Dateien Entwickelt von Linus Torvalds Verwaltung der Linux Kernel Quelltexte 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: halbleiterbauelemente.de Webseite: git-scm.com 8/ 19 Revisionskontrollsystem GIT v1.2

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 9/ 19 Revisionskontrollsystem GIT v1.2

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 10/ 19 Revisionskontrollsystem GIT v1.2

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 11/ 19 Revisionskontrollsystem GIT v1.2

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 12/ 19 Revisionskontrollsystem GIT v1.2

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 13/ 19 Revisionskontrollsystem GIT v1.2

Git Datenaustausch 1/2 International durch verschiedene Protokolle Git-Protokoll über TCP Port 9418 SSH (verschlüsselt) HTTP HTTPS FTP rsync EMail (Patches) 14/ 19 Revisionskontrollsystem GIT v1.2

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 15/ 19 Revisionskontrollsystem GIT v1.2

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 16/ 19 Revisionskontrollsystem GIT v1.2

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 17/ 19 Revisionskontrollsystem GIT v1.2

Git - Web-Interface Hübscher Zugang zu git Repository Quelloffene Software gitweb ist Teil der GIT Veröffentlichung git-scm.com GitLab ist sehr umfangreich gitlab.com gitalist in PERL geschrieben github.com/broquaint/gitalist Existing Webhoster (one) GitHub Closed Source hoster github.com 18/ 19 Revisionskontrollsystem GIT v1.2

Fragen? 19/ 19 Revisionskontrollsystem GIT v1.2