README.md: Was ist git? hinzugefuegt

Buch.txt hinzugefuegt

Reviewed-on: Bunteshaus/spielwiese#1
Co-Authored-By: teldra <teldra@rotce.de>
Co-Committed-By: teldra <teldra@rotce.de>
This commit is contained in:
teldra 2021-06-12 17:47:50 +02:00 committed by buha
parent be60b627ab
commit 00ec9fa022
2 changed files with 41 additions and 1 deletions

0
Buch.txt Normal file
View File

View File

@ -1,2 +1,42 @@
# spielwiese
# Willkommen
Ich habe dieses Repository angelegt, damit wir damit ein bisschen Spielen koennen. Noch ist es leer aber ich hoffe, wir fuellen es bald.
Ich wuerde gerne auf ein bisschemn git-Terminologie eingehen.
## Was ist git?
git ist eine Software zur "verteilten Versionsverwaltung von Dateien" sagt wikipedia. Genauer bedeutet das, das ich verschiedene Versionen einer Datei verwalten kann. Und das geht eben auch auf verschiedenen Rechnern.
Ein praktisches Beispiel waere folgendes Problem: "Ich moechte mit mehreren Leuten ein Buch schreiben"
(Damit das passt gibt es eine Bedingung: Es muss eine Datei sein.)
(Keine Angst, ich erklaere Fachwoerter noch)
Jetzt wuerden wir, herkoemmlich, alle staendig diese Datei austauschen, damit alle auf dem neuesten Stand sind und es wuerden so sachen passieren wie "datei3_jetzt_aber_wirklich.txt"..
Da kommt dann git ins Spiel. In diesem Szenario wuerde ich einen Repository als ultimative Instanz definieren. Zb. dieses Repository hier "Spielwiese". Das kann man bei github machen, besser gitlab, besser selber hosten. (Es gibt auch faelle, wo man sowas gar nicht braucht. Zb. wenn man nur fuer sich etwas versionsverwalten will auf dem eigenen Rechner. Zb. die Rezptedatenbank. Oder die Kontakte oder oder.)
Die Leute, die dann an dem Buch mitarbeiten, "forken" sich das Repository damit sie eine Kopie in ihrem eigenen Account haben. Im optimalfall "clonen" sich die Leute das dann von ihren Accounts auf den eigenen Rechner um da dann an den Dateien Arbeiten zu koennen.
Sinnvoll waere jetzt einen "branch" anzulegen. Ein "branch" ist, quasi, eine Kopie der Daten im gleichen Ordner, der ich einen Namen geben kann. Pro "repository" gibt es immer mindestens einen Branch, der frueher "master" hiess, mittlerweile setzt sich aber "main" durch. Ich lege nun einen "branch" namens "kapitel-2" an und schreibe mein Kapitel in die Datei (zb. Buch.txt).
Wenn ich dann mit der Aenderung fertig bin, muss ich diese "committen". Das ist ein elementares Ding bei git, daher gehe ich da etwas ausfuehrlicher drauf ein.
Eine der wichtigen Dinge, beim verteilten Arbeiten an einem Material, ist die Nachverfolgbarkeit von Aenderungen. Dafuer hat git ein sogenanntes "log" aller Aenderungen. In diesem log stehen auf den ersten Blick aber nicht alle Aenderungen im Detail, sondern nur Zusammenfassungen der Aenderungen.
Ich gehe zu unserem Beispiel zurueck und werde noch etwas genauer ab dem Punkt, wo ich denke, das meine Aenderung am Buch fertig ist.
Ich nehme ja an, die Datei heisst "Buch.txt" und ich wollte Kapitel 2 hinzufuegen. Nachdem ich damit fertig bin, sage ich git mit einem Befehl, welche Datei in diesen "commit" soll. Das kann von einer Datei bis hin zu allen Dateien sein. Danach gebe ich dann dem commit seine Beschreibung. In diesem Falle wuerde eine commitmessage wie "Kapitel 2 hinzugefuegt" wohl passend sein.
Nun muss ich das noch in meinen Account auf dem Server hochladen und von da aus die Aenderung vorschlagen. Wenn die Person, der das Hauptrepository gehoert, mit der Aenderung zufrieden ist, kann sie diese dann in den Hauptzweig des Projektes "mergen".
** Keine Angst. Das ist nur ein Ueberblick. Wir werden das nach und nach durchgehen! **
## Begriffe (todo)
- clone
- fork
- merge
- branch
- commit
- pull-request
- repository (repo)