git für Nicht-Programmierer - Teil 1 - Installation und Einrichtung
veröffentlicht am 02.03.2017 mit 583 Worten - Lesezeit: 3 Minute(n) in * PROGRAMME * SOFTWARE * TUTORIALS *
Inhaltsverzeichnis
Git
ist - wie bereits gesagt - ein Programm, das auf dem eigenen Rechner ausgeführt wird und im Gegensatz zu anderen, zentralisierten Systemen jedem Entwickler den vollständigen Programmcode lokal zur Verfügung stellt, eigene Änderungen kann er dann lokal einpflegen und, wenn er sicher ist, seine Aufgabe erledigt zu haben, diese mittels des Programms git über eine zentrale Plattform wie z. B. github seinen Programmier-Kollegen zur Verfügung stellen.
Aber, weil git
auch vollständig lokal arbeitet, kann man es natürlich auch für seine eigenen kleinen privaten Projekte nutzbringend einsetzen. Ich demonstriere das an den Quelltexten dieser Homepage, die bekanntermaßen mittels Hugo erstellt wird.
Installation
Unter Linux ist git
in den gängigen Distributionen als Programmpaket enthalten, Nutzer von debian-basierten Distributionen brauchen nur
sudo apt-get install git
im Terminal ausführen und git
ist installiert.
Windows-Nutzer lesen bitte hier nach.
Einrichtung
{benutzername}@{rechnername} ~/Webseiten/homepage $ git config --global user.name "{github-username}"
{benutzername}@{rechnername} ~/Webseiten/homepage $ git config --global user.email "email@domain.tld"
Diese Daten werden in der Datei ~/.gitconfig
gespeichert.
Das eigene Homepage-Verzeichnis git
-fähig machen
Zunächst wechselt man im Terminal in das Arbeitsverzeichnis, hier also das Verzeichnis, in dem die Dateien und Unterverzeichnisse der Homepage/des Blogs liegen:
~ $ cd /home/{Benutzername}/Webseiten/homepage
und dort führt man dann aus:
~/Webseiten/homepage $ git init
Initialisierte leeres Git-Repository in /home/{Benutzername}/Webseiten/homepage/.git/
git
erstellt also im Arbeitsverzeichnis ein verstecktes Unterverzeichnis .git
sowie eine Rohstruktur in diesem Unterverzeichnis, indem es alle seine Daten ablegt, incl. der archivierten Historie der Dateien, mit denen man gearbeitet hat - auf diese Weise lassen sich alte Versionen leicht wieder herstellen und man kann Vergleiche zwischen den Versionen ansehen.
Ausgangsbasis in git
erstellen
Im nächsten Schritt muß man alle seine Dateien im Arbeitsverzeichnis git
quasi “bekannt machen”:
{benutzername}@{rechnername} ~/Webseiten/homepage $ git add -A
und dann git
auffordern, einen Start-Schnappschuss des aktuellen Zustandes der Dateien des Projekts zu erstellen:
{benutzername}@{rechnername} ~/Webseiten/homepage $ git commit -m 'initial version'
[master (Basis-Commit) 85a196c] initial version
239 files changed, 5959 insertions(+)
create mode 100644 archetypes/default.md
create mode 100644 config.toml
create mode 100644 content/_index.md
create mode 100644 content/blog/2015-11-24-usb-geraete-abchecken.md
create mode 100644 content/blog/2015-12-22-statisches-blog-mit-hugo.md
create mode 100644 content/blog/2015-12-24-sudo-gksudo-und-die-dateirechte.md
create mode 100644 content/blog/2015-12-25-laden-mit-lichtmaschine.md
create mode 100644 content/blog/2015-12-25-linux-mint-und-ubuntu-backports.md
create mode 100644 content/bl.....
Daraus sieht man, daß ALLES, was in diesem Verzeichnis ist, der Versionskontrolle unterzogen wird, und zu diesem Zweck natürlich im Repository-Archiv vorgehalten werden muß. Das ist z. B. für “statische” Files wie Bilder oder pdf-Dokumente im Falle einer Homepage nicht unbedingt notwendig, deshalb kann man diese vor dem ersten commit
ausschließen.
Man erstellt also ein .gitignore
-File:
{benutzername}@{rechnername} ~/Webseiten/homepage $ touch .gitignore
und kann dort alles eintragen, was nicht von git
kontrolliert werden soll:
## General Exclusion Rules for Type 'Homepage'
# backup files
*~
# these rules exclude documents for download
*.ps
*.eps
*.pdf
# figures alltogether
*.jpg
*.png
*.gif
*.tif
*.tiff
Im Falle meiner privaten Homepage reduzierte sich so das Volumen des .git
-Verzeichnisses auf rund ein Zehntel.
Und weil z. B. Hugo und ähnliche statische Webseitengeneratoren ihr Ausgabe-Verzeichnis ebenfalls im Projektverzeichnis liegen haben, ein Ausgabeverzeichnis (dessen Inhalt ja bei jedem Aktualisieren der Webseite komplett neu erstellt wird) im Gegensatz zum eigentlichen Quelltext aber nix in der Versionsüberwachung zu suchen hat, sollte man in diesem Fall in .gitignore
noch folgende Zeile hinzufügen:
# Hugo public folder excluded since this is an OUTPUT folder
public/
Und wie weiter?
git
ist eingerichtet und hat einen ersten Start-Zustand des Verzeichnisses, in dem gearbeitet wird, angelegt. Nun kann die Arbeit am Projekt losgehen.
Welche Schritte dabei notwendig sind, daß git
diese Arbeit korrekt mitverfolgt und seine Fähigkeiten unterstützend anbieten kann, das wird Gegenstand des 2. Teils sein.
weitere Artikel
- git für Nicht-Programmierer - Teil 3 - Versionsstände untersuchen und wiederherstellen
- git für Nicht-Programmierer - Teil 2 - Dateien in der Versionskontrolle
- git für Nicht-Programmierer - Die Grundlagen
- Hugo und die Krux mit dem Zeilenumbruch
- Trennung von Struktur und Design/Inhalt und Layout