Programmieren 2 06 Git-Teamwork und Egit



Ähnliche Dokumente
Praktikum Ingenieurinformatik (PI)

Von SVN zu Git. Daniel Willmann cbna

git Änderungen verwalten mit git

Moodle aktuell halten mit Git

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

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

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

Versionsverwaltung mit SVN

Apache Subversion (SVN)

Git II. Dezentrale Versionsverwaltung im Team

Git-Workflows im Alltag

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

Git in großen Projekten

Deployment Deployment Seite 1 / 25

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

Konfigurationsdateien mit Git verwalten

Linux Cafe Referent: Bernd Strößenreuther

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

eclipse - EGit HowTo

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

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Einführung in Subversion

Software Engineering in der Praxis

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM

Kurzanleitung zu. von Daniel Jettka

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

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Wie benutzt man TortoiseSVN

Anleitung zur Webservice Entwicklung unter Eclipse

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

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

Klicksparen. Einrichtung und Nutzung von Klicksparen am Beispiel vom iphone Hamburg,

Versionierung und Bugtracking mit Git(Hub)

1 Kalender gemeinsam verwenden

HSR git und subversion HowTo

Medieninformatik Praktikum. Jens Rademacher

Aktuelles, Mitteilungen und Veranstaltungen verwalten

WinCVS Version 1.3. Voraussetzung. Frank Grimm Mario Rasser

Versionsverwaltung mit Eclipse. PR1 - Medizinische Informatik (IMB) Dennis-Immanuel Czogalla

Einfu hrung in Subversion mit TortoiseSVN

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

Erfolgreicher Ums9eg auf Git

Datenmigration K1Max (Exchange)

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

1.3. Installation und Konfiguration von Filr Desktop

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

Was ich als Bürgermeister für Lübbecke tun möchte

Leichte-Sprache-Bilder

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

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Anleitung über den Umgang mit Schildern

ecaros2 - Accountmanager

kreativgeschoss.de Webhosting Accounts verwalten

Strategie & Kommunikation. Trainingsunterlagen TYPO3 Version 4.3: News Stand

Netzwerkversion PVG.view

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Print2CAD 2017, 8th Generation. Netzwerkversionen

Adminer: Installationsanleitung

Problem crazytrickler unter Windows 8:

Bedienungsanleitung für den Online-Shop

Seminar. Bachelor Wirtschaftsinformatik

Task: Nmap Skripte ausführen

eprints-anwendertreffen 2013

Branching und Merging mit Visual Studio Team System

E-TIME ADVANCED Dokumentation zum Vorgehen bei der elektronischen Zeiterfassung. Geben Sie folgende Internetadresse ein:

How to do? Projekte - Zeiterfassung

Konfiguration eines DNS-Servers

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

easysolution GmbH easynet Bessere Kommunikation durch die Weiterleitung von easynet-nachrichten per nach Hause

Die Windows 7 Sicherung im Detail

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

PowerPoint 2010 Mit Folienmastern arbeiten

Hier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1.

Anwendertreffen 25./26. Februar. cadwork update

Dateipfad bei Word einrichten

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

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

ICS-Addin. Benutzerhandbuch. Version: 1.0

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

C++ mit Eclipse & GCC unter Windows

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Tevalo Handbuch v 1.1 vom

Eine Einführung in das verteilte Quelltextverwaltungssystem Git

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Versionsverwaltung mit git. Christoph Knabe FB VI

Hilfe bei Adobe Reader. Internet Explorer 8 und 9

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Hilfe zur Urlaubsplanung und Zeiterfassung

Ändern eines Kontotyps

Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista.

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Transkript:

Programmieren 2 06 Git-Teamwork und Egit Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1

Die Bildquelle Die schönen Schemazeichnungen in dieser Lehrheinheit entstammen https://www.atlassian.com/git/tutorials/ (Lizensiert unter Creative Common Attribution 2.5 Australia) 2

Teamwork: Einrichten des zentralen Repo Mary richtet das RemoteRepository ein: (auf dem Server, z.b. per ssh) git init --bare ourrepo.git Mary clont ourrepo, um ihr eigenes lokales Repo zu haben: git clone https://<repopfad>/ourrepo.git es heißt dann lokal "origin" Mary richtet lokal die Verzeichnisstruktur für das Projekt ein (mit leeren Dateien oder.gitignore), committet sie und pusht sie nach ourrepo: git push [origin] Paul clont ourrepo (incl. Verzeichnisstruktur) git clone https://<repopfad>/ourrepo.git Bill möchte einen anderen Namen als "origin" git clone https://<repopfad>/ourrepo.git git remote rename origin marysrepo 3

Teamwork: Zentralisierter Workflow John erzeugt neue Dateien, committet und pusht sie. commit/push Mary arbeitet ebenfalls am Projekt und will nach 2 Commits ihre Änderung pushen Konfliktmeldung commit/push Mary aktualisiert ihr lokales Repo git fetch git rebase Der Pfadkonflikt kann von git aufgelöst werden, Marys Änderungen werden "angehängt" Jetzt kann Mary pushen git push git pull Paul und Bill sollten pullen git pull fetch rebase 4 4

Teamwork: Konfliktauflösung Git kennt zwei Konfliktauflösungsprozesse, Rebase und Merge Beide werden im Konfliktfall unterbrochen, der Benutzer editiert seine Datei und committet sie neu, danach wird fortgesetzt. Rebase - Begradigen neuerer Commit-Pfad wird an das Ende des alten angefügt, Commits im neueren werden angepasst. Merge - Vereinheitlichen aus dem gemeinsamen Vorgänger und den Pfadenden wird ein neues Merge-Commit erzeugt und angefügt. Ein konfliktfreies Push wird als Fast-Forward-Push bezeichnet. Es bewirkt ein Rebase direkt auf dem remote Repo. 5 5

Teamwork: Feature Branch Workflow Das Team besschließt, dass im remote Repo-Master immer eine lauffähige, getestete Version stehen soll. Für Entwicklungen und Experimente werden Seitenzweige aufgemacht. Erst nach Fertigstellung werden Sie in den Masterzweig eingefügt. 6 6

Teamwork: Arbeiten mit Branches Neuen Abzweig von master (lokal) erstellen git branch mybranch Neuen Abzweig von big-feature erstellen git branch mybranch subbranch MyBranch Zwischen Zweigen wechseln: HEAD versetzen, Working Tree aktualisieren git checkout subbranch und zu einem anderen Zweig git checkout little-feature Abzweig erstmals pushen git push -u origin mybranch Abzweig zurückführen (mergen) git checkout master git pull git merge mybranch git push Abzweig löschen git branch d mybranch Es gibt immer einen aktuellen Branch. HEAD zeigt dorthin. Checkout wechselt zwischen Branches. Auch Push und Pull beziehen sich auf den aktuellen Branch; deshalb erst zum Master wechseln und dann mit Pull den aktuellen Master-Stand von Remote holen. 7

Teamwork: Feature Branch Workflow Mary beginnt mit einem neuen Feature und legt dafür (lokal) einen Branch an, der von Master abzweigt: git branch marys-feature master git checkout marys-feature oder kurz: git checkout b marys-feature master Vor dem Mittagessen pusht sie ihren Entwicklungszweig. Mit u und dem Zweignamen wird er beim ersten Push remote erzeugt. Danach genügt git push. git push -u origin marys-feature Am Abend ist sie fertig und pusht das Ergebnis. Sie bittet Paul und Bill, draufzusehen und es freizugeben. Man nennt das einen Pull Request (von git unterstützt). Wenn alle einverstanden sind, fügt sie das Ergebnis in den Masterzweig ein und löscht ihren Zweig. git checkout master git pull git merge marys-feature //oder pull git push git branch d marys-feature //optional 8 8

Teamwork Zusammenfassung Git heißt "Doofie" und will für Doofies sein... Aber: wenn man Git verstanden hat, dann hat man ein stabiles Sicherheitsnetz Der Feature-Branch-Workflow eignet sich perfekt für Einzelpersonen und kleine Teams Der Rest ist Disziplin... 9 9

Git aus Eclipse : Egit Alle IDEs bieten die Möglichkeit der Versionsverwaltung Typischerweise integriert unter dem Stichwort "Team" Eclipse hat standardmäßig Plugin für SVN (subversive) und Git (EGit) Vorteil: Versionsverwaltung direkt integriert in die Projektverwaltung der IDE Bruchloses Arbeiten 10 10

Workflow in Egit Projekt anlegen An ein lokales Repo binden (ggf. neu erzeugen) Jede Änderung wird als "unstaged" oder "dirty" gekennzeichnet Staging über Teammenü, Tool oder Staging View Commit über Teammenü, Tool oder Staging View Remote Repo einrichten oder Clonen in der Repositories View Push, pull, fetch über Teammenü, Tool oder Repositories View Merge, rebase über Tool, Repositories View oder History View Branch und checkout (switch) über Repositories View oder History View Reset über Teammenü oder Commit Viewer Revert über Commit Viewer 11 11

Lokales Repository einrichten Team > Share > Git lokales Repo für Projekt einrichten: 12

Nützliche Git-Sichten Unter Window > Show View > Other > Git finden sich sehr nützliche Sichten, z.b. Git Staging Git Repositories Git Interactive Rebase 13

Erstes Commit aus der Staging View Commit Message eintragen! Staging per D&D 14

Statusanzeige im PackageExplorer Quelle: vogella.com/tutorials/eclipsegit/article.html 15

Commit-History Wird in der History View angezeigt nach Project > Show In > History Filter- und Suchmöglichkeiten 16

Details über ein Commit In der History View Rechtsklick > Open in Commit Viewer 17

Commits in allen Repos Navigate > Open Git Commit 18 18

Repositories-View Einrichten, Verwalten und Überblick für Repositories Lokale Repos Branching Zuordnung von Remotes Konfiguration von Remotes 19

... genug ge-gittet. Nächstes Mal wird wieder programmiert 20 20