Mit Git Software verwalten

© Le Moal Olivier, 123RF

Innerer Zusammenhalt

Die Arbeit an Software gerät mitunter unübersichtlich. Das VCS Git erleichtert den Umgang mit komplexem Code erheblich.

Sie arbeiten an einem Programm oder einer Webpräsenz? Sie erstellen von Zeit zu Zeit Sammlungen von Dateien? Sie arbeiten im Team an einem übergreifenden Projekt, wobei jeder Änderungen vornehmen darf? Verwenden Sie zum Verwalten der Daten bislang noch kein Versionsverwaltungssystem, lohnt sich ein Blick auf das flexible Werkzeug Git auf alle Fälle.

Mit Git fällt es leicht, unterschiedliche Versionen von Dateien nebeneinander zu managen. Die Software steht unter der GPLv2 und gehört somit zu den freien Programmen. Es verbreitet sich zunehmend und hat seine Leistungsfähigkeit bereits in sehr umfangreichen Projekten, wie etwa dem Linux-Kernel, bewiesen.

Die Software arbeitet dezentral, eine Server-Anbindung ist nur zum Synchronisieren erforderlich. Die tägliche Arbeit, die sich je nach Aufgabe unterschiedlich lange hinzieht, erfolgt in der Regel lokal, was die Abläufe erheblich beschleunigt. Die Reifezeit von über zehn Jahren bedingt, dass Git gerade für Einsteiger in die Welt der Versionsverwaltungssysteme überraschend einfach zu bedienen ist [1].

Vor dem Start

Das Programmpaket Git ist Bestandteil nahezu aller Distributionen. Die Installation erfolgt unter Raspbian mit sudo yum install git.

Zunächst sollten Sie Ihren Namen und die E-Mail-Adresse konfigurieren. Ohne diese Informationen gibt Git entweder eine entsprechende Warnung aus oder generiert diese Daten aus dem Rechner- und dem Benutzernamen – Letzteres ist meist nicht gewollt. Für den Benutzer Otto Muster mit der E-Mail-Adresse otto.muster@example.org sieht das aus wie in Listing 1.

Listing 1

 

$ git config --global user.name "Otto Muster"
$ git config --global user.email otto.muster@example.org
$ git config --list
user.name=Otto Muster
user.email=otto.muster@example.org

Das Kommando git config --list zeigt die Einstellungen an. Diese ändern Sie bei Bedarf jederzeit. Git verwendet einen mehrstufigen Aufbau dieser Einstellungen (siehe Kasten "Frage der Einstellung").

Frage der Einstellung

Git speichert die Einstellungen abhängig von der beim Kommando config angegebenen Option. Davon existieren drei: --system, --global, --local. Diese bestimmen den Speicherort für die Konfiguration. Das Auswerten der Konfigurationsdateien erfolgt in umgekehrter Richtung, ausgehend von den lokalen, projektspezifischen Angaben.

Die Dokumentation zeigt die Angabe globaler, also für den Anwender spezifischer Konfigurationsdaten. Die Software speichert diese mit --global angegebenen Informationen in der Datei .gitconfig im Home-Verzeichnis. Das Handbuch man git-config oder die Hilfe mit git help config enthalten diesbezüglich mehr Informationen.

Auf geht's

Das Projekt im Beispiel liegt im Verzeichnis ~/mprojekt/ und besteht aus den Textdateien liesmich.txt und projekt.txt. Die Kommandos aus Listing 2 legen das Projekt an, erzeugen aber noch kein Repository.

Listing 2

 

$ cd
$ mkdir mprojekt
$ cd mprojekt
$ echo "Datei liesmich.txt" > liesmich.txt
$ echo "Datei projekt.txt" > projekt.txt

Der Erstellen des eigentlichen Repositorys umfasst drei Schritte (Listing 3): Zuerst initialisieren Sie im Hauptverzeichnis, in diesem Fall ~/mprojekt/, das Projekt. Dann melden Sie die enthaltenen Dateien an und übernehmen diese in die Git-Datenbank, das Projektarchiv.

Listing 3

 

$ cd ~/mprojekt
$ git init
Leeres Git-Repository in /home/otto/mprojekt/.git/ initialisiert
$ git add liesmich.txt 
$ git add projekt.txt
$ git commit -m "Erster Commit"
[master (Basis-Commit) 77558e4] Erster Commit
 2 files changed, 2 insertions(+)
 create mode 100644 liesmich.txt
 create mode 100644 projekt.txt

Das Kommando git init legt ein leeres Repository im Unterverzeichnis .git/ an (einem versteckten Ordner). Dabei ist es egal, ob sich Dateien im eigentlichen Verzeichnis befinden oder nicht; projektspezifische Daten berücksichtigt Git dabei nicht.

Mit dem Kommando git add fügen Sie eine Datei dem Index hinzu. Der zu diesem Zeitpunkt aktuelle Stand der Datei befindet sich jetzt in der sogenannten Staging Area. Diese enthält Versionen, die für den nächsten Commit vorgemerkt sind. Im Git-Jargon ausgedrückt: Die Datei ist "gestaged".

Das Kommando git commit übernimmt die vorgemerkten Dateien ins Projektarchiv. Dieser Vorgang heißt Commit oder Einchecken. Zu jedem Commit gehört ein entsprechender Text. Git zeigt die erste Zeile des Textes bei verschiedenen Ausgaben an; sie sollte daher kurz und möglichst präzise sein. Durch eine Leerzeile abgetrennt dürfen Sie den Commit dann noch ausführlich beschreiben.

Diesen Text übergeben Sie mit der Option -m an die Software. Ohne diese Option startet Git, sofern nicht anders konfiguriert, den voreingestellten Editor (Abbildung 1). Erfolgt hier ebenfalls keine Eingabe, bricht Git den Commit ab.

Abbildung 1: Ein Commit ohne die Angabe eines Textes bringt den Systemeditor auf den Schirm.

TIPP

Möchten Sie einen anderen Editor, wie etwa Emacs verwenden, konfigurieren Sie diesen mit git config --global core.editor Editor.

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Aktuelle Ausgabe

12/2019
RasPi-Alternativen

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Grußbotschaften

    Mit Sonic Pi zaubern Sie komplexe Sounds, die Sie bei Bedarf sogar noch während des Abspielens modifizieren.

  • Das Runde und das Eckige

    Mit dem MCP4725 ergänzen Sie einen RasPi um einem D/A-Wandler, der bei Bedarf noch weitere Funktionen erfüllt.

  • Alles unter Kontrolle

    Schon ein einfaches Mikrocontrollerboard wie das CY8CKIT-049-42xx bietet erstaunlich viele Möglichkeiten beim Ansteuern von Hardware.

  • Viele Kerne

    Das Spresense Development Board von Sony lässt sich mit der Arduino IDE programmieren und bringt auch ein eigenes Entwickler-SDK mit.

  • Exotische Früchte

    Der aus China stammende Orange Pi positioniert sich mit einem guten Preis und interessanten Features gegen die RasPi-Truppe. Kann er sich auch behaupten?

  • Flexibler Surfer

    Mit dem neuen RasPi 4 setzen Sie einen öffentlichen Webkiosk schnell und kostengünstig auf.

  • Auskunftsfreudig

    Viele Devices, so auch der E.ON-Aura-Controller, verwenden eine Schnittstelle namens REST, um Zustandsdaten zu übermitteln. Mit ein wenig Bastelei lesen Sie diese auch über Ihr Smartphone aus.

  • Doppelt gemessen

    Mit wenig Aufwand und einem Pi Zero realisieren Sie einen mobilen Zweikanal-Spannungsprüfer.

  • Elegant zusammengeführt

    Tizonia streamt Musik von Online-Quellen und lokalen Sammlungen. Die schlanke Architektur macht den Player zur guten Wahl für den Einsatz auf dem RasPi.

  • Kommunikativ

    Nicht jeder traut sich zu, sein eigenes Smartphone zu bauen. Allerdings kann jeder Linux-Nutzer den Raspberry Pi im Handumdrehen zu einem VoIP-Telefon aufrüsten.