eclipse - EGit HowTo

Ähnliche Dokumente
Praktikum Ingenieurinformatik (PI)

HSR git und subversion HowTo

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

Moodle aktuell halten mit Git

Git II. Dezentrale Versionsverwaltung im Team

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

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

Von SVN zu Git. Daniel Willmann cbna

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

Programmieren 2 06 Git-Teamwork und Egit

Task: Nmap Skripte ausführen

WinVetpro im Betriebsmodus Laptop

SANDBOXIE konfigurieren

Internet Explorer Version 6

Step by Step Webserver unter Windows Server von Christian Bartl

Konfigurationsdateien mit Git verwalten

Benutzung der Avid Liquid Edition Schnittplätze an der Universität Innsbruck

Einfu hrung in Subversion mit TortoiseSVN

Installationsanleitung unter Windows

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Arbeiten mit dem Outlook Add-In

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Urlaubsregel in David

DOKUMENTATION VOGELZUCHT 2015 PLUS

Hex Datei mit Atmel Studio 6 erstellen

Beheben von verlorenen Verknüpfungen

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Erstellen einer PostScript-Datei unter Windows XP

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Deployment Deployment Seite 1 / 25

Wie benutzt man TortoiseSVN

SICHERN DER FAVORITEN

Kostenstellen verwalten. Tipps & Tricks

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Step by Step VPN unter Windows Server von Christian Bartl

Sichern der persönlichen Daten auf einem Windows Computer

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

SharePoint Workspace 2010 Installieren & Konfigurieren

Benutzung des NAM. Starten Sie Ihren Browser und rufen Sie folgende Adresse auf:

MESONIC WINLine Jahreswechsel. Umstellung des Wirtschaftsjahres SMC IT AG

kreativgeschoss.de Webhosting Accounts verwalten

Handbuch ECDL 2003 Basic Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

1. Zuerst muss der Artikel angelegt werden, damit später die Produktvarianten hinzugefügt werden können.

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

OP-LOG

Anwendungsbeispiele Buchhaltung

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

Klicken Sie mit einem Doppelklick auf das Symbol Arbeitsplatz auf Ihrem Desktop. Es öffnet sich das folgende Fenster.

msm net ingenieurbüro meissner kompetent - kreativ - innovativ

Datenaustausch mit dem BVK Data Room

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

BlueEvidence Services in Elexis

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Ein neues Outlook Konto können Sie im Control Panel über den Eintrag Mail erstellen.

Erste Einstellungen im Alumni System

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

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

Netzwerk einrichten unter Windows

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Professionelle Seminare im Bereich MS-Office

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

MSDE 2000 mit Service Pack 3a

Einrichtung Konto Microsoft Outlook 2010

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

EasyWk DAS Schwimmwettkampfprogramm

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

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

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Anleitung Grundsetup C3 Mail & SMS Gateway V

Speichern. Speichern unter

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

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

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Tutorial -

Sie befinden sich hier: WebHosting-FAQ -Clients - Einrichtung und Konfiguration Outlook Express Artikel #1

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

Betriebssystem Windows - SSH Secure Shell Client

Print2CAD 2017, 8th Generation. Netzwerkversionen

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

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

Wissenswertes über LiveUpdate

HowTo: Einrichtung & Management von APs mittels des DWC-1000

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Kurzanleitung zu. von Daniel Jettka

Outlook Web App 2010 Kurzanleitung

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Transkript:

eclipse - EGit HowTo An der HSR steht den Studierenden ein git Server für die Versionskontrolle zur Verfügung. Dieses HowTo fasst die notwendigen Informationen zur Verwendung dieses Dienstes in Verwendung mit eclipse EGit zusammen. Inhalt Allgemeines zu EGit EGit Dokumentation Benutzerangaben einstellen Nützliche Views Git Staging Git Repositories Properties Topologie Struktur eines git workspace Verfolgen von Änderungen Commit cycle Add to Index Ignore Stash cycle Branches Merge strategy Merge Rebase remote repository Erstellen Configure push Configure fetch Abgleich von Branches Merging References 20120921: Initiale Version Marcel Huber 20121021: Ergänzungen zu einzelnen Themen 20121022: Vervollständigung 20121023: Fertigstellung der Hauptthemen T +41 55 222 46 30 F +41 55 222 46 29 ifs@hsr.ch www.ifs.hsr.ch Seite 1 von 10

Allgemeines zu EGit EGit Dokumentation Die Benutzerdokumentation wird mit dem EGit Plugin installiert und ist via Help Help Contents EGit Documentation aufzurufen. Benutzerangaben einstellen System- oder Projekt-Einstellungen, wie zum Beispiel user.email und user.name, können via Window Preferences Team Git Configuration eingestellt werden. Einstellungen können pro Benutzer und/oder pro Repository festgelegt werden. Identifying_yourself Nützliche Views Git Staging Die Git Staging View kann zur besseren Übersicht und zur einfacheren Handhabung geänderter Dateien nützlich sein. Sie kann im Menu Window Show View Other Git Git Staging geladen werden. Git_Staging_View Git Repositories Die Git Repositories View dient der Verwaltung lokaler git Repositories. In dieser View werden remote Repositories eingebunden, branches erstellt usw. Man findet sie unter Window Show View Other Git Git Repositories T +41 55 222 46 30 F +41 55 222 46 29 ifs@hsr.ch www.ifs.hsr.ch Seite 2 von 10

Git_Repositories_View Properties Die Properties Ansicht ist eine allgemeine View, welche sich für die Kontrolle von Einstellungen bestens eignet. Window Show View Other General Properties Topologie Die folgende Grafik zeigt die topologischen Unterschiede von zentralen und verteilten Versionskontrollsystemen. T +41 55 222 46 30 F +41 55 222 46 29 ifs@hsr.ch www.ifs.hsr.ch Seite 3 von 10

Clients von zentralisierten Systeme sind zum Zeitpunkt eines commit auf eine Verbindung zum zentralen Server angewiesen. Mit Clients dezentraler Systeme können alle Funktionen der Versionskontrolle, mit Ausnahme von repository Abgleichsfunktionen, genutzt werden. Zum Zeitpunkt des Abgleichs mit dem remote repository, push oder pull/fetch, kann erst festgestellt werden ob und wie sich beide Seiten verändert haben. Wenn der Ausgangspunkt unserer Änderungen nicht (mehr) identisch ist mit dem HEAD der Gegenstelle, müssen wir unsere Änderungen erst mit denen der Gegenstelle abgleichen. Struktur eines git workspace Die folgende Grafik zeigt die verschiedenen Bereiche einer Änderung vom workspace bis zum remote repository. Einzelne Bereiche werden nachfolgend mit Hilfe von Sequenzdiagrammen erläutert. Verfolgen von Änderungen T +41 55 222 46 30 F +41 55 222 46 29 ifs@hsr.ch www.ifs.hsr.ch Seite 4 von 10

Commit cycle Dateien im workspace befinden sich typischerweise in einem der folgenden Zustände. Recording Changes Add to Index Solange wir Dateien nicht explizit mittels Team Add to Index vormerken, werden keine Änderungen aufgezeichnet. Ignore Soll eine Datei oder ein Verzeichnis von der Versionskontrolle ausgenommen werden, kann dies mittels Team Ignore vorgenommen werden. Überprüfen Sie den Inhalt der Datei.gitignore wenn Sie unsicher sind welche Dateien und Verzeichnisse ignoriert werden. Verzeichniseinträge enden üblicherweise mit einem slash / um sie von regulären Dateinamen zu unterscheiden. Beispiele: dir/ file *.class Track_Changes Stash cycle git bietet die Möglichkeit, Änderungen ohne Erzeugen eines commits zwischenzuspeichern. Damit können vorliegende Änderungen kurzzeitig zurückgestellt werden um beispielsweise auf einen anderen Branch zu wechseln oder das Programm im ursprünglichen Zustand nochmals genauer zu betrachten. T +41 55 222 46 30 F +41 55 222 46 29 ifs@hsr.ch www.ifs.hsr.ch Seite 5 von 10

Das Kontextmenu zum Speichern respektive Wiederherstellen eines Stash findet sich in der Git Repositories View auf dem entsprechenden Repository. Vorhandene Stash Einträge sind in der Git Repositories View unter Stashed Changes finden. Branches Ein Branch ist im Prinzip nur ein Zeiger auf einen bestimmten commit, mit welchem man durch Traversieren entlang der Parents zur Gabelung vom Stamm findet. Ein Branch kann nicht nur auf einem logischen Namen, wie origin/master, sondern auf irgend einem existierenden commit basieren. Lokale Branches sind grundsätzlich gleichwertig wie remote Branches. Typischerweise leben lokale Branches nicht sehr lange; 1. ein lokaler Feature Branch wird erstellt 2. das Feature realisiert, getestet und committed 3. Änderungen des remote repository werden abgeholt (pull) hier kann es keine Konflikte geben, da wir auf dem lokalen master nichts geändert haben! 4. die Änderung werden auf den lokalen master Branch gemerged etwaige Konflikte lösen 5. der lokale Branch wird nach erfolgreichem Merge gelöscht 6. der master Branch wird zum remote repository gepusht Die Einträge in der Sektion Remote Tracking zeigen Branch Namen, welche im remote repository zu finden sind. Basierend auf einem dieser Branches kann dann ein lokaler Branch erstellt (checkout) werden. T +41 55 222 46 30 F +41 55 222 46 29 ifs@hsr.ch www.ifs.hsr.ch Seite 6 von 10

Merge strategy git unterscheidet grundsätzlich zwei Arten um Änderungen zweier Zweige zusammenzuführen. Merge Die eine Art nennt sich Merge und erstellt aus den HEAD Versionen beider Äste ein neues commit Objekt mit den zusammengeführten Änderungen. Rebase Die zweite Art nennt sich Rebase, manchmal auch fast-forward genannt. Dabei wird die Gabelung des einen Astes an das Ende (HEAD) des anderen Astes verschoben. Dabei bleibt die Struktur der commits erhalten, inhaltlich kann es jedoch zu Anpassungen kommen. Die Merge Strategie verursacht im Allgemeinen weniger Probleme, hinterlässt dafür aber viele Gabelungen und Zusammenführungen in der Historie. In Verwendung mit gerrit ist diese Strategie jedoch unumgänglich, da sonst der Review-Prozess für jeden einzelnen commit durchgeführt werden muss. T +41 55 222 46 30 F +41 55 222 46 29 ifs@hsr.ch www.ifs.hsr.ch Seite 7 von 10

Branching remote repository Der Ausdruck remote repository bezeichnet eine Verbindung unseres lokalen Repository zu einem Entfernten. Dabei spielt es keine Rolle, ob das remote Repository im eigenen Filesystem liegt oder über ein bestimmtes Protokoll eine Stelle im Netzwerk referenziert. Erstellen Unabhängig davon ob das Repository des vorliegenden Projekts von einem remote repository geklont wurde, können wir weitere remote repositories hinzufügen. Einstellungen lassen sich am einfachsten in der Git Repositories View tätigen, da diese Ansicht für diesen Zweck gut strukturiert ist und bestehende Einstellungen mit Hilfe der Properties View angesehen werden können. T +41 55 222 46 30 F +41 55 222 46 29 ifs@hsr.ch www.ifs.hsr.ch Seite 8 von 10

Im Kontextmenu des Remotes Eintrages finden wir den Punkt Create Remote... über welchen wir das gewünschte remote repository anbinden können. Der Name des remote repository ist meist origin (Ursprung), kann aber grundsätzlich beliebig gewählt werden. Welche Richtung wir konfigurieren hängt davon ab, für welche Richtungen wir das entsprechende remote repository verwenden. In unserem Fall, wir wollen nur mit einem remote repository arbeiten, müssen wir beide Richtungen einstellen und fangen mit der voreingestellten Richtung an. Configure push Diese Richtung bestimmt, welche lokalen branches ins remote repository gelangen. Entweder kann man jeden einzelnen Branches definieren, welcher jeweils ins remote repository gepusht werden kann, oder man wählt die Voreinstellung, mit welcher der jeweils aktive Branch abgeglichen wird. Configure fetch Diese Einstellung bestimmt, welche Branches des remote repository in unser lokales repository gelangen. In den meisten Fällen ist die Voreinstellung passend, welche alle remote Branches in unser lokales repository lädt. Abgleich von Branches Nun müssen wir unserem lokalen master Branch noch mitteilen, welchem entfernten Branch er folgen soll. Dadurch wird ersichtlich, ob der lokale Branch dem remote Branch voraus eilt oder hinterher hinkt. Zuerst müssen wir jedoch den aktuellen Stand vom remote repository abholen und wählen dazu im Kontextmenu unseres Repository Fetch from Upstream. T +41 55 222 46 30 F +41 55 222 46 29 ifs@hsr.ch www.ifs.hsr.ch Seite 9 von 10

Nun wählen wir im Kontextmenu des lokalen master Branches Configure Branch... und wählen als Gegenstück refs/remotes/origin/master. Damit sind wir nun bereit im Team zu arbeiten. Nach vollendeter Konfiguration beider Seiten ergibt sich das folgende Bild: Merging Das Merging mit EGit ist in weiten Teilen gleich wie bei anderen Versionskontrollsystemen. Der Unterschied liegt jedoch darin, dass wir bei Verwendung von git getätigte Änderungen jeweils erst mit Add to Index in den Staging Bereich eintragen müssen damit git diese als gemerged erkennt. Merging References Git_For_Eclipse_Users eclipse-egit wiki EGit-User_Guide egit-tutorial-for-beginners EGit-Tutorial-Lars-Vogel Tutorials der EclipseCon12 T +41 55 222 46 30 F +41 55 222 46 29 ifs@hsr.ch www.ifs.hsr.ch Seite 10 von 10