Grin logo
de en es fr
Boutique
GRIN Website
Publier des textes, profitez du service complet
Aller à la page d’accueil de la boutique › Informatique - Informatique appliquée

Versionsverwaltung mit Git

Titre: Versionsverwaltung mit Git

Exposé Écrit pour un Séminaire / Cours , 2018 , 25 Pages

Autor:in: Daniela Rabe (Auteur)

Informatique - Informatique appliquée
Extrait & Résumé des informations   Lire l'ebook
Résumé Extrait Résumé des informations

Diese Arbeit bietet eine Einführung in GIT und Beschreibung der wichtigen und besonderen Features.

Einfach gesagt ist Git ein Versionskontrollsystem. Andere bekannte Systeme sind beispielsweise SVN, CVS oder Bazaar. Man kann diese Systeme in zwei Gruppen unterteilen:Zentrale und dezentrale (verteilte) Systeme. Git gehört in die Gruppe der verteilten Versionskontrollsysteme. In zentralen Systemen gibt es einen Hauptserver, auf dem das Projekt liegt und mit dem sich jeder Entwickler immer wieder verbindet, um seine Änderungen einzupflegen oder sich die aktuelle Version herunterzuladen. Im Gegensatz hierzu gibt es bei verteilten Versionskontrollsystemen wie Git diverse gleichwertige Instanzen des Repositorys. Jeder Entwickler verfügt über eine vollständige lokale Kopie des Projekts, was zum Einen den Vorteil hat, dass auch ohne permanente Verbindung zum Server gearbeitet werden kann, zum Anderen ist es sicherer. Im Falle, dass der Server zeitweise ausfällt oder sogar ganz und gar beschädigt wird, kann trotzdem weiter an dem Projekt gearbeitet werden und es gäbe weiterhin noch aktuelle Kopien des Projekts.

In der Praxis existiert wohl in den meisten Fällen aber doch ein zentrales Repository, mit dem die Entwickler ihre lokalen Repositories synchronisieren, da so der Austausch zwischen den Entwicklern erleichtert wird. Wer also eine Änderung vornehmen möchte, lädt sich eine vollständige Kopie der aktuellen Version herunter, bearbeitet diese und schickt sie anschließend wieder an den Server zurück. Durch die lokale Kopie können alle Vorgänge, außer der Synchronisation mit dem entfernten Repository, lokal stattfinden. Sogar Commits und Checkouts finden bei Git zunächst lokal statt (dazu später mehr), genau wie das Einsehen oder Bearbeiten der Versionsgeschichte oder der Wechsel in einen anderen Branch. Eine Internetverbindung ist demzufolge nur selten notwendig.

Extrait


Inhaltsverzeichnis

1 Einführung

1.1 Was ist Git?

1.2 Die Geschichte hinter Git

2 Git-Objekte

3 Arbeiten mit Git

3.1 Installation

3.1.1 Git für Linux

3.1.2 Git für Mac OS

3.1.3 Git für Windows

3.2 Repositories anlegen und verwalten

3.2.1 Lokale Repositories

3.2.2 Remote Repositories

3.3 Branches

3.4 Commit

3.5 Merge, Rebase und Cherry-Picking

3.5.1 Mergen mit Git

3.5.2 Einen Rebase durchführen

3.5.3 Cherry-Picking

3.6 Merge Konflikte lösen

3.7 Die Datei .gitignore

3.8 Konsole vs GUI

3.8.1 Shell

3.8.2 GitHub

3.8.3 TortoiseGit

4 Git Tools

4.1 Stagen

4.2 Stashen

4.3 Debugging mit blame und bisect

4.4 Submodule

4.5 Git Hooks

5 Git und SVN

5.1 Zu Git wechseln

5.2 Bidirektionale Kommunikation

6 Git auf dem Server

6.1 Das Git-Protokoll

6.2 Gitolite

6.3 GitWeb

7 Vor- und Nachteile von Git

Zielsetzung und thematische Schwerpunkte

Die Arbeit gibt einen grundlegenden Überblick über das verteilte Versionskontrollsystem Git, dessen Funktionsweise, Einsatzmöglichkeiten sowie Vor- und Nachteile im Vergleich zu anderen Systemen.

  • Architektur und grundlegende Arbeitsweise von Git
  • Versionsverwaltung, Branches, Merging und Rebasing
  • Interaktion mit Remote-Repositories und Hosting-Plattformen
  • Migration und Zusammenarbeit zwischen Git und SVN
  • Fortgeschrittene Werkzeuge wie Staging, Stashing, Submodule und Hooks

Auszug aus dem Buch

1.1 Was ist Git?

Einfach gesagt ist Git ein Versionskontrollsystem, also ein "Werkzeug, das unterschiedliche Versionen von Software oder anderen Inhalten verwaltet und überwacht".1 Andere bekannte Systeme sind beispielsweise SVN, CVS oder Bazaar. Man kann diese Systeme in zwei Gruppen unterteilen: Zentrale und dezentrale (verteilte) Systeme. Git gehört in die Gruppe der verteilten Versionskontrollsysteme. In zentralen Systemen gibt es einen Hauptserver, auf dem das Projekt liegt und mit dem sich jeder Entwickler immer wieder verbindet, um seine Änderungen einzupflegen oder sich die aktuelle Version herunterzuladen. Im Gegensatz hierzu gibt es bei verteilten Versionskontrollsystemen wie Git diverse gleichwertige Instanzen des Repositorys. Jeder Entwickler verfügt über eine vollständige lokale Kopie des Projekts, was zum Einen den Vorteil hat, dass auch ohne permanente Verbindung zum Server gearbeitet werden kann, zum Anderen ist es sicherer. Im Falle, dass der Server zeitweise ausfällt oder sogar ganz und gar beschädigt wird, kann trotzdem weiter an dem Projekt gearbeitet werden und es gäbe weiterhin noch aktuelle Kopien des Projekts.

In der Praxis existiert wohl in den meisten Fällen aber doch ein zentrales Repository, mit dem die Entwickler ihre lokalen Repositories synchronisieren, da so der Austausch zwischen den Entwicklern erleichtert wird. Wer also eine Änderung vornehmen möchte, lädt sich eine vollständige Kopie der aktuellen Version herunter, bearbeitet diese und schickt sie anschließend wieder an den Server zurück. Durch die lokale Kopie können alle Vorgänge, außer der Synchronisation mit dem entfernten Repository, lokal stattfinden. Sogar Commits und Checkouts finden bei Git zunächst lokal statt (dazu später mehr), genau wie das Einsehen oder Bearbeiten der Versionsgeschichte oder der Wechsel in einen anderen Branch (Entwicklungszweig, s.u.). Eine Internetverbindung ist demzufolge nur selten notwendig.

Zusammenfassung der Kapitel

1 Einführung: Definition von Git als verteiltes Versionskontrollsystem sowie Erläuterung der geschichtlichen Hintergründe und Motivation für dessen Entwicklung.

2 Git-Objekte: Detaillierte Betrachtung der fundamentalen Datentypen in Git wie Blobs, Trees, Commits und Tags, sowie deren Identifizierung über SHA-1-Hashes.

3 Arbeiten mit Git: Umfassende Anleitung zur Installation, zum Anlegen von Repositories, zum Branching, Merging, Rebasing, Cherry-Picking und zum allgemeinen Workflow.

4 Git Tools: Vorstellung fortgeschrittener Funktionen wie Staging, Stashing, Debugging-Tools (blame, bisect), Submodule und Git-Hooks.

5 Git und SVN: Anleitung zur Migration von SVN-Repositories zu Git sowie Möglichkeiten zur bidirektionalen Kommunikation zwischen den Systemen.

6 Git auf dem Server: Erläuterung der technischen Aspekte von Git auf Serverebene, einschließlich Protokollen, der Git-Shell, Gitolite und GitWeb.

7 Vor- und Nachteile von Git: Kritische Analyse der Vor- und Nachteile von Git, insbesondere in Bezug auf Performance, Workflow-Veränderungen und den Umgang mit Binärdateien.

Schlüsselwörter

Versionsverwaltung, Git, verteiltes System, Repository, Branching, Merging, Rebase, Cherry-Picking, Staging, Stashing, Git-Objekte, Submodule, Git-Hooks, SVN-Migration, GitWeb

Häufig gestellte Fragen

Worum geht es in dieser Arbeit?

Die Arbeit bietet eine fundierte Einführung in das verteilte Versionskontrollsystem Git, erläutert die technischen Grundlagen und beschreibt die Anwendung im täglichen Softwareentwicklungsprozess.

Welche zentralen Themenfelder werden behandelt?

Zentrale Themen sind die Git-Architektur, der Umgang mit Repositories, Branching-Strategien, die Arbeit mit remote Repositories sowie fortgeschrittene Funktionen wie Submodule und Hooks.

Was ist das primäre Ziel der Arbeit?

Das Ziel ist es, dem Leser ein umfassendes Verständnis für die Funktionsweise von Git zu vermitteln, um damit effizient arbeiten und die Vorteile des verteilten Ansatzes nutzen zu können.

Welche wissenschaftliche Methode wird verwendet?

Es handelt sich um eine strukturierte technische Dokumentation, die auf der Analyse von Fachliteratur und der praktischen Anwendung von Git-Befehlen basiert.

Was wird im Hauptteil behandelt?

Der Hauptteil gliedert sich in die Bereiche Grundlagen der Git-Objekte, Arbeitsabläufe in der Praxis, fortgeschrittene Werkzeuge, Interaktion mit SVN sowie Server-Konfigurationen.

Welche Schlüsselwörter charakterisieren die Arbeit?

Die zentralen Schlagworte sind Versionsverwaltung, Git, Repositories, Branching, Merging, Staging, Submodule und Git-Hooks.

Wie unterscheidet sich der Git-Merge von einer SVN-Merge-Logik?

Git nutzt einen sogenannten 3-Wege-Merge-Algorithmus unter Einbeziehung der gemeinsamen Merge-Basis, was eine intelligentere Konfliktlösung ermöglicht, als es in zentralisierten Systemen wie SVN üblich ist.

Welches Problem lösen Git-Submodule?

Sie ermöglichen es, andere Projekte (z. B. Bibliotheken) als abhängige Komponenten in ein eigenes Projekt einzubinden, während die Historien beider Projekte getrennt bleiben.

Warum ist Git für Binärdateien weniger gut geeignet?

Da Git auf textbasierte Diff-Operationen optimiert ist, sind Operationen auf Binärdaten schwierig, und diese Dateien können aufgrund ihrer Größe die Repository-Performance beeinträchtigen, weshalb hier oft Git LFS als Abhilfe dient.

Welchen Zweck erfüllt der "detached HEAD" bei Submodulen?

Dieser Zustand tritt auf, wenn ein Submodul direkt auf einen spezifischen Commit zeigt und nicht auf einen Branch, was dazu führen kann, dass Änderungen verloren gehen, sofern sie nicht auf einem neuen Branch innerhalb des Submoduls gesichert werden.

Fin de l'extrait de 25 pages  - haut de page

Résumé des informations

Titre
Versionsverwaltung mit Git
Université
University of Hagen
Auteur
Daniela Rabe (Auteur)
Année de publication
2018
Pages
25
N° de catalogue
V430745
ISBN (ebook)
9783668736580
ISBN (Livre)
9783668736597
Langue
allemand
mots-clé
Git Versionsverwaltung SVN
Sécurité des produits
GRIN Publishing GmbH
Citation du texte
Daniela Rabe (Auteur), 2018, Versionsverwaltung mit Git, Munich, GRIN Verlag, https://www.grin.com/document/430745
Lire l'ebook
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
Extrait de  25  pages
Grin logo
  • Grin.com
  • Expédition
  • Contact
  • Prot. des données
  • CGV
  • Imprint