Versionierung und Bugtracking mit Git(Hub)

Ähnliche Dokumente
Semesterprojekt Entwicklung einer Suchmaschine für Alternativmethoden zu Tierversuchen. Versionierung und Bugtracking mit GitHub

Praktikum Ingenieurinformatik (PI)

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

Moodle aktuell halten mit Git

Apache Subversion (SVN)

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

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

Von SVN zu Git. Daniel Willmann cbna

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Git II. Dezentrale Versionsverwaltung im Team

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

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

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

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

Software Engineering in der Praxis

git Änderungen verwalten mit git

Medieninformatik Praktikum. Jens Rademacher

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

Einführung in Subversion

Einführung in Subversion. Tutorium SWP

Konfigurationsdateien mit Git verwalten

Git-Workflows im Alltag

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

Versionskontrolle mit Subversion

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

WinCVS Version 1.3. Voraussetzung. Frank Grimm Mario Rasser

Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

Git - Fast Version Control System

Seminar. Bachelor Wirtschaftsinformatik

Linux Cafe Referent: Bernd Strößenreuther

Versionsverwaltung mit SVN

Erfolgreicher Ums9eg auf Git

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

Sourcecodeverwaltung

Git in großen Projekten

Versionsverwaltung mit Mercurial für Einsteiger

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

Versionskontrollsysteme

Eine Einführung in das verteilte Quelltextverwaltungssystem Git

Programmieren 2 06 Git-Teamwork und Egit

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

Dezentrale Versionsverwaltung

Versionsverwaltung. Seminar Softwareentwicklung in der Wissenschaft Robert Wiesner

Besprechung Übung 1 & Vorstellung Übung 2

Deployment Deployment Seite 1 / 25

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, , Berlin

8. Dokumentenverwaltung mit CVS eine Einführung

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

Git-Grundlagen für Entwickler. Thomas Claudius

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Branching und Merging mit Visual Studio Team System

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

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

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

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

GITS Steckbriefe Tutorial

Apache Subversion (SVN)

Versionsverwaltung mit git. Christoph Knabe FB VI

CVS-Einführung. Sebastian Mancke,

Migration von Subversion nach Mercurial und Einsatz dezentraler Versionskontrolle in Unternehmen

AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

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

IT-Projekt-Management

Versionsverwaltung mit git

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

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

eclipse - EGit HowTo

DOKUMENTATION UND KOMMUNIKATION IN IT- FORSCHUNGSPROJEKTEN

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich

Fakultät für Informatik Praktische Einführung in die Versionsverwaltung mit Eclipse

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

Kurzanleitung zu. von Daniel Jettka

Versionkontrolle mit git

EGit: Die effiziente Git- Integration in Eclipse

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Gitting started. Christian Neukirchen. 14dec2011

2015 conject all rights reserved

Revisionskontrollsystem GIT

Einführung zu Git. Das Nötigste für die Studienarbeit im Modul Datenkommunikation. Ege Inanc

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

1 Zugang zum GIT Repository

Versionskontrolle mit Mercurial. Michael Gebetsroither

HSR git und subversion HowTo

Handbuch. TMBackup R3

Anleitung zur Verwendung der VVW-Word-Vorlagen

Wie benutzt man TortoiseSVN

Standard Daten-Backup-Script

Spiel, Spaß und Spannung mit Git

Verteile Revisionskontrolle mit GIT

Neuinstallation Einzelplatzversion

Version White Paper ZS-TimeCalculation und die Zusammenarbeit mit dem iphone, ipad bzw. ipod Touch

Transkript:

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 und nachvollziehen Kollaboration Konfliktvermeidung und -handling Backup um Fehler rückgängig zu machen Änderungen und Alternativen gefahrlos ausprobieren Information und Logs zu den Änderungen Versionierung und Bugtracking mit Git(Hub) 2 / 15

Versionierungssysteme CVS (Concurrent file system) SVN (Subversion) Git Mercurial Bitkeeper GNU arch... Versionierung und Bugtracking mit Git(Hub) 3 / 15

Git 2005 von Linus Torvalds entwickelt GitHub: öffentlicher Host von Git-Repositories https://github.com/orgs/hu-semesterprojektgenombrowser Grundlegender Unterschied zu SVN: dezentralisiert Grafische Tools: SourceTree (Win, Mac) gitk (inklusive) TortoiseGit (Win) EGit (Eclipse) Meld (diff & merge) Versionierung und Bugtracking mit Git(Hub) 4 / 15

Begriffe Revision: Version (einer Datei oder Kopie des Repositories) Commit: Änderungen (auch neue Datei) dem Repository hinzufügen Diff: Unterschied zwischen zwei Revisionen HEAD: Aktuelle Entwicklungsversion (Revision) Branches: Isolierte Nebenentwicklung(en) Tags: Releases (Beta, release candidates, ) der Software Versionierung und Bugtracking mit Git(Hub) 5 / 15

Befehle: Basics Lokale Kopie eines Repositories erstellen: git clone https://github.com/hu-semesterprojektgenombrowser/tutorial.git git clone git@github.com:hu-semesterprojektgenombrowser/tutorial.git Hilfe git help clone Aktuellen Status abfragen Listet neue Dateien, veränderte Dateien, Konflikte etc. auf Vorher in das Verzeichnis des Repositories wechseln git status Versionierung und Bugtracking mit Git(Hub) 6 / 15

Befehle: Modifikation des Repositories Datei zur Stage hinzufügen (für Commit vorbereiten) git add file.txt Alle neuen Dateien zur Stage hinzufügen git add * Datei aus der Stage löschen git rm file.txt Alle Änderungen aus der Stage (permanent) in das (lokale) Repository einfügen git commit m "commit message" Änderungen im lokalen Repository in einen Branch (master) des Remote-Repositories (origin) einpflegen git push origin master Versionierung und Bugtracking mit Git(Hub) 7 / 15

Befehle: Branching Neuen Branch erstellen und zu diesem Branch wechseln git checkout b my_branch Zum master-branch wechseln git checkout master Den zuvor erstellten Branch löschen git branch d my_branch Den neuen Branch für Kollaborateure verfügbar machen git push origin my_branch Versionierung und Bugtracking mit Git(Hub) 8 / 15

Befehle: Update des Repositories Änderungen am zentralen Repositoriy in das lokale Repository übernehmen git pull origin master Einen anderen Branch in den aktuellen eigenen Branch (z.b. master) integrieren git merge other_branch Manuell behobene Konflikte als behoben markieren git add file.txt Eine lokale Datei durch die HEAD-Revision ersetzen git checkout -- file.txt Alle lokalen Änderungen rückgängig machen git fetch origin git reset --hard origin/master Versionierung und Bugtracking mit Git(Hub) 9 / 15

Befehle: Logging, Blaming, Praising Die History des Repositories anzeigen git log git log --author=marc git log --pretty=oneline Anzeigen, welcher Autor für welche Zeile einer Datei verantwortlich war git blame file.txt Versionierung und Bugtracking mit Git(Hub) 10 / 15

Best Practices Zu Beginn der Arbeit und vor dem Einchecken das Repository updaten Branches verwenden Keine großen, binären Dateien in das Repository stellen Dateien, die im Repository nichts verloren haben, in der.gitignore-datei erwähnen Häufig committen (jedes separierbare Feature, Bugfix, etc.), aber: Mit aussagekräftigen Commit-Nachrichten versehen Nur lauffähige Versionen Optimal vorher Unit-Testfälle ausführen Versionierung und Bugtracking mit Git(Hub) 11 / 15

Beispiel für.gitignore # Compiled source # ################### *.com *.class *.dll *.exe *.o *.so # Packages # ############ # it's better to unpack these files # and commit the raw source, since git # has its own built in compression methods *.7z *.dmg *.gz *.iso *.jar *.rar *.tar *.zip # Logs and databases # ###################### *.log *.sql *.sqlite # OS generated files # ######################.DS_Store.DS_Store?._*.Spotlight-V100.Trashes ehthumbs.db Thumbs.db Versionierung und Bugtracking mit Git(Hub) 12 / 15

Bug Tracking In GitHub in Form von Issues verfügbar (inkl. Milestones ) Dokumentation von Bugs und deren Lösung Kommunikation zwischen Anwender und Entwickler Diskussion zwischen Entwicklern Problem reproduzierbar darstellen Sometimes the program crashes... hilft nicht Screenshots, Logdateien, Stacktrace Wichtigkeit einstufen und ggf. mit Tags versehen Problem ggf. einem Entwickler zuweisen Versionierung und Bugtracking mit Git(Hub) 13 / 15

Wiki In GitHub hat jedes Repository ein Wiki Bilder können per URL eingebunden werden Hervorragend geeignet zur Bearbeitung gemeinsamer Dokumente Roadmap Übersicht Use Cases Architektur Erste Schritte Verwendung der Software etc. Versionierung und Bugtracking mit Git(Hub) 14 / 15

Weiterführende Links 15-Minuten-Tutorial: https://try.github.io/ Branching & Teamwork mit Git: http://nvie.com/posts/a-successful-git-branchingmodel/ Informationen zu Pull-Requests: https://help.github.com/articles/using-pull-requests/ Versionierung und Bugtracking mit Git(Hub) 15 / 15