Git: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „Git [ɡɪt] ist eine freie Software zur verteilten Versionsverwaltung von Dateien, die durch Linus Torvalds initiiert wurde. == Links == https://git-scm.com/…“)
 
Zeile 2: Zeile 2:
 
== Links ==
 
== Links ==
 
  https://git-scm.com/
 
  https://git-scm.com/
 +
https://www.youtube.com/watch?v=elh1y6laO8I Schönes Beginner Tutorial
 +
https://git-scm.com/book/de/v2 //Ausführliches freies eBook
 
  https://de.wikipedia.org/wiki/Git
 
  https://de.wikipedia.org/wiki/Git
 
  [[GitHub]] - GitHub ist ein Onlinedienst, der Software-Entwicklungsprojekte auf seinen Servern bereitstellt (Filehosting). Namensgebend war das Versionsverwaltungssystem Git.  
 
  [[GitHub]] - GitHub ist ein Onlinedienst, der Software-Entwicklungsprojekte auf seinen Servern bereitstellt (Filehosting). Namensgebend war das Versionsverwaltungssystem Git.  
Zeile 26: Zeile 28:
  
 
== Git Quickstart ==
 
== Git Quickstart ==
=== Installation ===
+
Als Beispiel legen wir ein Verzeichnis legen wir einen Ordner mit dem Namen Songtexte an und erstellen zwei Dateien mit Songtexten. Z.B.
 +
azzurro.txt
 +
we-are-the-champions.txt
 +
 
 +
=== Installation von git ===
 +
Über https://git-scm.com laden und installieren
 +
 
 +
=== Projekt mit Git verwalten ===
 +
Wichtig für Git ist die Kommandozeile. Es gibt auch GUIs aber man sollte die Commandline Befehle einigermaßen beherrschen.
 +
* Terminal öffnen und in das Projektverzeichnis wechseln
 +
git init .
 +
Erzeugt im aktuellen Verzeichnis (aktuell = .) einen .git Ordner. Dieser ist das Repository in dem alle Änderungen gespeichert werden. Das aktuelle Verzeichnis ist dein Workspace. Dort kannst du ganz normal arbeiten.
 +
==== Git Status ====
 +
Mit
 +
git status
 +
Schauen wir welche Änderungen es im Verzeichnis gibt, die noch nicht von git erfasst bzw. versioniert sind. Das sind im Moment noch alle.
 +
==== Dateien im Repository Tracken und Versionieren - ADD & COMMIT ====
 +
Mit add kann man git dazu bringen Dateiverläufe zu verfolgen (tracken) und mit commit kann man Versionsstände dieser Dateien festhalten.
 +
git add azzurro.txt we-are-the-champions.txt
 +
oder auch mit Jokern
 +
git add *.*
 +
Wenn man jetzt den Status abruft zeigt git an, das die Dateien getrackt werden aber noch neu und nicht commited sind.
 +
 
 +
==== Git Profile ====
 +
Nicht schön im Beispiel: Git hat als User einen automatisch aus dem Mac Nutzerprofil generierten Namen erzeugt. Man kann aber auch selbst einen globalen Usernamen mit dazugehöriger E-Mail erzeugen:
 +
git config --global user.name "Stephan Schlegel"
 +
git config --global user.email dev@stephanschlegel.de
  
 
== Online Dienstleister ==
 
== Online Dienstleister ==

Version vom 22. Oktober 2019, 07:58 Uhr

Git [ɡɪt] ist eine freie Software zur verteilten Versionsverwaltung von Dateien, die durch Linus Torvalds initiiert wurde.

Links

https://git-scm.com/
https://www.youtube.com/watch?v=elh1y6laO8I Schönes Beginner Tutorial
https://git-scm.com/book/de/v2 //Ausführliches freies eBook
https://de.wikipedia.org/wiki/Git
GitHub - GitHub ist ein Onlinedienst, der Software-Entwicklungsprojekte auf seinen Servern bereitstellt (Filehosting). Namensgebend war das Versionsverwaltungssystem Git. 

Was ist Git ?

Git ist ein verteiltes Versionsverwaltungssystem. Wenn man etwas alleine oder im Team programmiert, kann man alle Änderungen nachträglich verfolgen, Rückgängig machen, Varianten erstellen (Branches) Varianten zu einer neuen Version verschmelzen (merge) etc.

Git kann aber auch für andere Textdateien verwendet werden (z.B. Songtexte verwalten)

Git hat u.a. folgende Eigenschaften

  • Nicht lineare Entwicklung
    • Branching und Merging - Werkzeuge zum Erstellen von Codevarianten und verschmelzen von mehreren zu einem neuen.
  • Kein zentraler Server
    • Nutzer haben lokale Kopien des Repository inkl Versionsgeschichte (history)
  • Datentransfer zwischen Repositories
    • Git kann verschiedene Protokolle nutzen (file, http(s), ssh, ftp, git)
    • file:// kann für den lokalen Transfer auf dem Rechner genutzt werden
    • git:// wird oft für Lesezugriffe (für fetch und clone) genutzt
    • ssh:// wird oft für Schreibzugriffe im Netz genutzt.
  • Sicherheit der History
    • Über einen Hashbaum wird sichergestellt, dass die Versionsgeschichte nachträglich nicht geändert werden kann.
  • Versionierung über alle Dateien.
    • Bei Gib bekommen bei der Änderung einer Datei alle Dateien im Projekt eine neue Versionsnummer.

Git Quickstart

Als Beispiel legen wir ein Verzeichnis legen wir einen Ordner mit dem Namen Songtexte an und erstellen zwei Dateien mit Songtexten. Z.B.

azzurro.txt
we-are-the-champions.txt

Installation von git

Über https://git-scm.com laden und installieren

Projekt mit Git verwalten

Wichtig für Git ist die Kommandozeile. Es gibt auch GUIs aber man sollte die Commandline Befehle einigermaßen beherrschen.

  • Terminal öffnen und in das Projektverzeichnis wechseln
git init .

Erzeugt im aktuellen Verzeichnis (aktuell = .) einen .git Ordner. Dieser ist das Repository in dem alle Änderungen gespeichert werden. Das aktuelle Verzeichnis ist dein Workspace. Dort kannst du ganz normal arbeiten.

Git Status

Mit

git status

Schauen wir welche Änderungen es im Verzeichnis gibt, die noch nicht von git erfasst bzw. versioniert sind. Das sind im Moment noch alle.

Dateien im Repository Tracken und Versionieren - ADD & COMMIT

Mit add kann man git dazu bringen Dateiverläufe zu verfolgen (tracken) und mit commit kann man Versionsstände dieser Dateien festhalten.

git add azzurro.txt we-are-the-champions.txt

oder auch mit Jokern

git add *.*

Wenn man jetzt den Status abruft zeigt git an, das die Dateien getrackt werden aber noch neu und nicht commited sind.

Git Profile

Nicht schön im Beispiel: Git hat als User einen automatisch aus dem Mac Nutzerprofil generierten Namen erzeugt. Man kann aber auch selbst einen globalen Usernamen mit dazugehöriger E-Mail erzeugen:

git config --global user.name "Stephan Schlegel"
git config --global user.email dev@stephanschlegel.de

Online Dienstleister

Github
Bitbucket
Gitlab