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

Ähnliche Dokumente
Versionsverwaltung. Seminar Softwareentwicklung in der Wissenschaft Robert Wiesner

Medieninformatik Praktikum. Jens Rademacher

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.

Source Code Verwaltung mit Git

Spiel, Spaß und Spannung mit Git

git Änderungen verwalten mit git

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

Apache Subversion (SVN)

Eine Einführung in das verteilte Quelltextverwaltungssystem Git

WOZU VERSIONSKONTROLLE?

Linux Cafe Referent: Bernd Strößenreuther

Git - Fast Version Control System

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

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

Versionsverwaltung mit GIT

2 Erste Schritte mit der Kommandozeile

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

Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

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

Dezentrale Versionsverwaltung

Git II. Dezentrale Versionsverwaltung im Team

Praktikum Ingenieurinformatik (PI)

Moodle aktuell halten mit Git

Versionsverwaltung mit git

Git in großen Projekten

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

Apache Subversion (SVN)

Seminar. Bachelor Wirtschaftsinformatik

Versionskontrollsysteme

Versionsverwaltung mit git. Christoph Knabe FB VI

Middleware Cloud Computing Übung

Versionierung und Bugtracking mit Git(Hub)

Von SVN zu Git. Daniel Willmann cbna

Softwareentwicklung I (IB) Versionsverwaltung mit Git

Versionkontrolle mit git

Programmieren 2 05 Versionsverwaltung mit Git

Versionierung für OpenSourcler

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

2 Erste Schritte mit der Kommandozeile

Verteile Revisionskontrolle mit GIT

Konfigurationsdateien mit Git verwalten

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

Igitt?! Git für Anfängerinnen und Anfänger Linux höchstpersönlich.

Gitting started. Christian Neukirchen. 14dec2011

git verteilte Versionskontrolle

Git - Grundlagen und Anwendungen

Versionsverwaltung mit Git

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

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

eclipse - EGit HowTo

Git-Workshop für Einsteiger

Verlässliche Echtzeitsysteme

Software Engineering in der Praxis

Versionsverwaltung mit SVN

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

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

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

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014

Programmieren 2 06 Git-Teamwork und Egit

Distributed Source Code Management mit git

Git Workshop. LiWoLi Florian Preinstorfer. Wolfgang Silbermayr

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

Tool-Chain. Übung. Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" Sebastian Meyer und Kai Stapel

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

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

Git eine kurze Einführung

git Alexander Bernauer Rico Schiekel

Das Tübinger Softwareprojekt

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

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

Git für Admins Linux höchstpersönlich.

Verlässliche Echtzeitsysteme

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

Softwaretechnik (Allgemeine Informatik) Überblick

Mapra: C++ Teil 3. Felix Gruber, Michael Rom. IGPM, RWTH Aachen. 10. Mai 2016

Software Engineering 2 Versionsverwaltung

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

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

Überblick. Verteilte Systeme Übung. Übungsaufgaben. Termine und Ansprechpartner. Organisatorisches

Brown Bag Seminar Datalab Seminar

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

News. Alles passt exakt zusammen Oracle Engineered Systems. Datenbank. Aktuell. Im Interview. Nr. 6 Dezember 2014 ISSN

NT-Seminarvortrag am 11. Dezember Einführung in die Versionsverwaltung CVS. von Gordon Cichon

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

Brauche ich ein DVCS?

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

Versionskontrolle mit Subversion

Having fun with GIT. Chris Wewerka. Software Development Specialist

Einstieg in Git. Lukáš Kubánek

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

Versionskontrolle: Subversion und Git

Versionsverwaltung mit Mercurial für Einsteiger

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

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

Versionsverwaltung für r Visual Studio.NET mit Subversion

Das Concurrent Versions System (CVS)

Transkript:

Arbeiten mit dem Versionsverwaltungssystem Proseminar Werkzeuge für das wissenschaftliche Arbeiten 14.07.2014 Agentur für cooperation & communication

Gliederung 1. Einführung 2. Funktionsweise 3. 4. Ausblick 5. Zusammenfassung 6. Quellen 02/36

Einführung Versionsverwaltung Erfassung und Protokollierung aller Änderungen Gleichzeitige Entwicklung durch mehrere Personen Repository als Datenbank Zeitlich geordnete Versionen als Historie 03/36

Einführung Zentrale Versionsverwaltung Client-Server-System Repository liegt auf einem zentralen Server Leicht zu administrieren Single Point of Failure Lock-Modify-Write Arbeitsweise 04/36

Einführung Dezentrale Versionsverwaltung Benutzer besitzt eigenes Repository Ein offizielles Repositor Copy-Modify-Merge Arbeitsweise Ermöglicht Verzweigung Erfordert Zusammenführen Kein Konflikt bei simultaner Änderung 05/36

Einführung Git 2005 von Linus Torvalds zur Quellcodeverwaltung des Linux Kernel entwickelt Fähig große Projekte zu verwalten Keine Network Latency Overhead Sehr schnell Vollständige Projekthistory in der lokalen Datenbank 06/36

Einführung Git Vier wichtige Transportprotokolle Lokal SSH Git HTTP Tools 07/36

Funktionsweise Hauptbestandteile Workspace Index Repository Local repository Remote repository 08/36

Einführung Git-Objekte Commit-Objekt Dateien Blobs Bäume tree-objekt Inhalt des Verzeichnisses Spezifiziert die Zuordnung Dateiname und Blob tags 09/36

Einführung Git-Objekte http://git-scm.com/figures/18333fig0301-tn.png 10/36

Funktionsweise SHA1-Hash Änderungen in Prüfsumme umrechnen Erstellung beim stagen Sicherheit Keine unbemerkten Änderungen Änderungen können nicht verloren gehen 11/36

Einführung Git-Branches Branches: Entwicklungszweige Textdatei mit einer Commit ID und SHA-1 Prüfsumme schnelle Erstellung neuer Branches gemeinsame Basis dank Ursprungscommit Eltern Commits -> Baumstruktur HEAD Verweist auf den aktuell benutzten Branch Unterschied Subversion 12/36

Einführung Git-Branches http://git-scm.com/figures/18333fig0305-tn.png 13/36

Einführung Git-Branches http://git-scm.com/book/de/git-branching-was-ist-ein-branch%3f 14/36

Einführung Git-Branches http://git-scm.com/book/de/git-branching-was-ist-ein-branch%3f 15/36

Funktionsweise Git definiert drei Dateizustände Commited: gesichert Modified: verändert Staged: Zum Index hinzugefügt 16/36

Funktionsweise Git Arbeitsprozess Bearbeitung der Dateien im Arbeitsverzeichnis Markierung der Dateien/Hinzufügen zum Index für den Commit Anlegung des Commit, Snapshots werden im Git Verzeichnis gespeichert 17/36

Funktionsweise 18/36

Identität Befehl: $ git config --global user.name "John Doe $ git config --global user.email jdoe@example.com 19/36

Einstellungen anzeigen Befehl: $ git config --list 20/36

Repository anlegen Befehl: $ git init 21/36

Dateien zum Index hinzufügen Befehl: $ git add <dateiname> 22/36

Repository kopieren Befehl: $ git clone <repository> $ git clone git://github.com/schacon/grit.git 23/36

Zustand prüfen Befehl: $ git status 24/36

Branching Einen Neuen Branch erstellen und aktivieren $ git branch <branchname> $ git checkout <branchname> 25/36

Branching Den Branch wechseln: $ git checkout <branchname> 26/36

Merging Branches zusammenführen $ git merge <branchname> Zusammengeführte Branches anzeigen: $ git branch --merged 27/36

Externe Repository Anzeigen der konfigurierten Server $ git remote Beispiel: $ git remote -v name1 git://github.com/name1/grit.git name2 git://github.com/name2/grit.git name3 git://github.com/name3/grit.git 28/36

Externe Repository anlegen $ git remote add <shortname> <url> Beispiel: $ git remote add jo git://github.com/jojo/jannik.git 29/36

Änderungen herunterladen $ git pull <remotename> Einzelne Branches $ git pull <remonatename> <branchname> 30/36

Änderungen herunterladen $ git pull origin master remote: Counting objects: 7, done. remote: Compressing objects: 100% (4/4), done. remote: Total 4 (delta 2), reused 0 (delta 0) Updating 361303d..f2cd831 Fast forward _layouts/default.html 1 + 1 files changed, 1 insertions(+),0 deletions 31/36

Änderungen hochladen $ git push <remotename> <branchname> Beispiel $ git push origin master Counting objects: 7, done. Compressing objects: 100% (4/4), done. Writing objects: 100% (4/4), 407 bytes, done. Total 4 (delta 2), reused 0 (delta 0) To git@github.com:qrush/gitready.git 361303d..f2cd831 master -> master 32/36

Ausblick Open Source Projekte benutzen DVCS Android, Linux-Kernel, VLC Media Player Es existieren Hosting-Dienste GitHub BitBucket Steigende Userzahlen 33/36

Ausblick (http://aniszczyk.org/wpcontent/uploads/2011/11 /gitpopcondebian1.png) 34/36

Zusammenfassung Einfache, effiziente Arbeitsweise Große Projekte Kein zentraler Server benötigt Entwickler laden das komplette Projekt in die lokale Umgebung Unterstützung vieler Übertragungsprotokolle Gute Unterstützung von nicht-linearer Entwicklung 35/36

Quellen http://aniszczyk.org http://git-scm.com/ http://de.gitready.com/ http://www.online-tutorials.net/programmierung/git/tutorials-t-3-263.html http://wr.informatik.unihamburg.de/_media/teaching/wintersemester_2011_2012/gitworkshop-2011.pdf 36/36