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

10/2019
Raspberry Pi 4B

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Sonnige Zeiten

    UV-Strahlung ist für das menschliche Auge unsichtbar, was sie umso gefährlicher macht. Die Höhe der tatsächlichen Belastung verrät Ihnen das Selbstbauprojekt UV-Sensor.

  • Gut verpackt

    Für das Ansteuern kleiner Displays gibt es keine Programme von der Stange. Mit Python und einer Pygame-Bibliothek erstellen Sie trotzdem im Handumdrehen Anwendungen.

  • Macro-Mini-Micro-Bit

    Was dem Raspberry Pi für die Computerwelt gelungen ist, versucht der BBC Micro:bit für Mikrocontroller zu wiederholen. Das für Schüler entwickelte Kit hilft beim Einstieg in die hardwarenahe Programmierung.

  • Vorhang auf

    Mit dem modernen Video-Codec HEVC (H.265) erstellte Filme spielen bisherige RasPi-Modelle oft nur ruckelnd ab. Wir testen, ob der neue Raspberry Pi 4B das besser kann.

  • Überraschung!

    Eine optimierte Architektur und mehr RAM beschleunigen den RasPi 4B deutlich. Wir prüfen, wie gut sich der Neuling als Desktop-Rechner schlägt.

  • Durchgestartet

    Ein Stresstest zeigt, wie sich der neue Raspberry Pi 4 Modell B gegenüber den älteren Modellen abhebt.

  • Vierte Generation

    Eine schnellere CPU, USB 3.0 und Gigabit-Ethernet sind nur die Highlights des Raspberry Pi 4B: Das Board bringt viele weitere Neuerungen mit.

  • Tiefenmesser

    Um die Pumpe in einem Brunnenschacht möglichst genau zu positionieren, brauchen Sie dessen Tiefe. Die ermitteln Sie mithilfe eines präzisen Messgeräts aus einem Luftdrucksensor und einem Mikrocontroller.

  • Faktencheck

    Das via DVB-T2 ausgestrahlte Digital-TV liefert Bilder in HD-Qualität. Der dabei eingesetzte H.265-Standard überfordert allerdings kleine Mini-Rechner wie den Raspberry Pi – oder geht es doch?

  • Zugriff von außen

    React Native erlaubt es, Apps mit wenigen Zeilen Code zu programmieren. Mit einem entsprechenden Server sprechen Sie so den RasPi vom Smartphone aus an.