-
1. Erste Schritte
-
2. Git Grundlagen
-
3. Git Branching
- 3.1 Branches auf einen Blick
- 3.2 Einfaches Branching und Merging
- 3.3 Branch-Management
- 3.4 Branching-Workflows
- 3.5 Remote-Branches
- 3.6 Rebasing
- 3.7 Zusammenfassung
-
4. Git auf dem Server
- 4.1 Die Protokolle
- 4.2 Git auf einem Server einrichten
- 4.3 Erstellung eines SSH-Public-Keys
- 4.4 Einrichten des Servers
- 4.5 Git-Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Von Drittanbietern gehostete Optionen
- 4.10 Zusammenfassung
-
5. Verteiltes Git
-
6. GitHub
-
7. Git Tools
- 7.1 Revisions-Auswahl
- 7.2 Interaktives Stagen
- 7.3 Stashen und Bereinigen
- 7.4 Deine Arbeit signieren
- 7.5 Suchen
- 7.6 Den Verlauf umschreiben
- 7.7 Reset entzaubert
- 7.8 Fortgeschrittenes Merging
- 7.9 Rerere
- 7.10 Debuggen mit Git
- 7.11 Submodule
- 7.12 Bundling
- 7.13 Replace (Ersetzen)
- 7.14 Anmeldeinformationen speichern
- 7.15 Zusammenfassung
-
8. Git einrichten
- 8.1 Git Konfiguration
- 8.2 Git-Attribute
- 8.3 Git Hooks
- 8.4 Beispiel für Git-forcierte Regeln
- 8.5 Zusammenfassung
-
9. Git und andere VCS-Systeme
- 9.1 Git als Client
- 9.2 Migration zu Git
- 9.3 Zusammenfassung
-
10. Git Interna
-
A1. Anhang A: Git in anderen Umgebungen
- A1.1 Grafische Schnittstellen
- A1.2 Git in Visual Studio
- A1.3 Git in Visual Studio Code
- A1.4 Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git in Sublime Text
- A1.6 Git in Bash
- A1.7 Git in Zsh
- A1.8 Git in PowerShell
- A1.9 Zusammenfassung
-
A2. Anhang B: Git in deine Anwendungen einbetten
- A2.1 Die Git-Kommandozeile
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Anhang C: Git Kommandos
- A3.1 Setup und Konfiguration
- A3.2 Projekte importieren und erstellen
- A3.3 Einfache Snapshot-Funktionen
- A3.4 Branching und Merging
- A3.5 Projekte gemeinsam nutzen und aktualisieren
- A3.6 Kontrollieren und Vergleichen
- A3.7 Debugging
- A3.8 Patchen bzw. Fehlerkorrektur
- A3.9 E-mails
- A3.10 Externe Systeme
- A3.11 Administration
- A3.12 Basisbefehle
1.6 Erste Schritte - Git Basis-Konfiguration
Git Basis-Konfiguration
Nachdem Git jetzt auf deinem System installiert ist, solltest du deine Git-Konfiguration noch anpassen. Dies muss nur einmalig auf dem jeweiligen System durchgeführt werden. Die Konfiguration bleibt bestehen, wenn du Git auf eine neuere Version aktualisierst. Die Git-Konfiguration kann auch jederzeit geändert werden, indem die nachfolgenden Befehle einfach noch einmal ausgeführt werden.
Git umfasst das Werkzeug git config
, welches die Möglichkeit bietet, Konfigurationswerte zu verändern. Auf diese Weise kannst du anpassen, wie Git aussieht und arbeitet.
Die Konfiguration ist an drei verschiedenen Orten gespeichert:
-
Die Datei
[path]/etc/gitconfig
: enthält Werte, die für jeden Benutzer auf dem System und alle seine Repositories gelten. Wenn du die Option--system
angit config
übergibst, liest und schreibt sie aus dieser Datei. Da es sich um eine Systemkonfigurationsdatei handelt, benötigst du Administrator- oder Superuser-Rechte, um Änderungen daran vorzunehmen. -
Die Datei
~/.gitconfig
oder~/.config/git/config
: enthält Werte, die für dich, den Benutzer, persönlich bestimmt sind. Du kannst Git dazu bringen, diese Datei gezielt zu lesen und zu schreiben, indem du die Option--global
übergibst. Dies betrifft alle Repositories, mit denen du auf deinem System arbeitest. -
Die Datei
config
im Git-Verzeichnis (also.git/config
) des jeweiligen Repositories, das du gerade verwendest: Du kannst Git mit der Option--local
zwingen, aus dieser Datei zu lesen und in sie zu schreiben, das ist in der Regel die Standardoption. (Es dürfte klar sein, dass du dich irgendwo in einem Git-Repository befinden musst, damit diese Option ordnungsgemäß funktioniert.)Jede Ebene überschreibt Werte der vorherigen Ebene, so dass Werte in `.git/config` diejenigen in `[path]/etc/gitconfig` aushebelt.
Auf Windows-Systemen sucht Git nach der Datei .gitconfig
im $HOME
Verzeichnis (normalerweise zeigt $HOME
bei den meisten Systemen auf C:\Users\$USER
).
Git schaut immer nach [path]/etc/gitconfig
, auch wenn die sich relativ zu dem MSys-Wurzelverzeichnis befindet, dem Verzeichnis in das du Git installiert hast.
Wenn du eine Version 2.x oder neuer von Git für Windows verwendest, gibt es auch eine Konfigurationsdatei auf Systemebene unter C:\Dokumente und Einstellungen\Alle Benutzer\Anwendungsdaten\Git\config
unter Windows XP und unter C:\ProgramData\Git\config
unter Windows Vista und neuer.
Diese Konfigurationsdatei kann nur von git config -f <file>
als Admin geändert werden.
Du kannst dir alle Git Einstellungen ansehen und wo sie herkommen mit:
$ git config --list --show-origin
Deine Identität
Nachdem du Git installiert hast, solltest du als allererstes deinen Namen und deine E-Mail-Adresse in Git konfigurieren. Das ist insofern wichtig, da jeder Git-Commit diese Informationen verwendet und sie unveränderlich in die Commits eingearbeitet werden, die du erstellst:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
Wie schon erwähnt, brauchst du diese Konfiguration nur einmal vorzunehmen, wenn du die Option --global
verwendest. Auf Grund der oben erwähnten Prioritäten gilt das dann für alle deine Projekte.
Wenn du für ein spezielles Projekt einen anderen Namen oder eine andere E-Mail-Adresse verwenden möchtest, kannst du den Befehl ohne die Option --global
innerhalb des Projektes ausführen.
Viele der grafischen Oberflächen helfen einem bei diesem Schritt, wenn du sie zum ersten Mal ausführst.
Dein Editor
Jetzt, da deine Identität eingerichtet ist, kannst du den Standard-Texteditor konfigurieren, der verwendet wird, wenn Git dich zum Eingeben einer Nachricht auffordert. Normalerweise verwendet Git den Standard-Texteditor des jeweiligen Systems.
Wenn du einen anderen Texteditor, z.B. Emacs, verwenden willst, kannst du das wie folgt festlegen:
$ git config --global core.editor emacs
Wenn du auf einem Windows-System einen anderen Texteditor verwenden möchtest, musst du den vollständigen Pfad zu seiner ausführbaren Datei angeben. Dies kann, je nachdem, wie dein Editor eingebunden ist, unterschiedlich sein.
Im Falle von Notepad++, einem beliebten Programmiereditor, solltest du wahrscheinlich die 32-Bit-Version verwenden, da die 64-Bit-Version zum Zeitpunkt der Erstellung nicht alle Plug-Ins unterstützt. Beim Einsatz auf einem 32-Bit-Windows-System oder einem 64-Bit-Editor auf einem 64-Bit-System gibst du etwa Folgendes ein:
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Anmerkung
|
Vim, Emacs und Notepad++ sind beliebte Texteditoren, die von Entwicklern häufig auf Unix-basierten Systemen wie Linux und macOS oder einem Windows-System verwendet werden. Wenn du einen anderen Editor oder eine 32-Bit-Version verwenden, findest du in git config core.editor commands spezielle Anweisungen, wie du deinen bevorzugten Editor mit Git einrichten kannst. |
Warnung
|
Wenn du Git nicht so konfigurierst, dass es deinen Texteditor verwendet und du keine Ahnung davon hast, wie man Vim oder Emacs benutzt, wirst du ein wenig überfordert sein, wenn diese zum ersten Mal von Git gestartet werden. Ein Beispiel auf einem Windows-System könnte ein vorzeitig beendeter Git-Vorgang während einer von Git initiierten Editor-Bearbeitung sein. |
Der standardmäßige Branch-Name
In der Voreinstellung wird Git einen Branch mit dem Namen master erzeugen, wenn du ein neues Repository mit git init
erstellst.
Ab der Git-Version 2.28 kannst du einen abweichenden Namen für den initialen Branch festlegen.
So konfigurierst du main als Vorgabe für den Branch-Namen:
$ git config --global init.defaultBranch main
Einstellungen überprüfen
Wenn du deine Konfigurationseinstellungen überprüfen möchtest, kannst du mit dem Befehl git config --list
alle Einstellungen auflisten, die Git derzeit finden kann:
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
Manche Parameter werden möglicherweise mehrfach aufgelistet, weil Git denselben Parameter in verschiedenen Dateien (z.B. [path]/etc/gitconfig
und ~/.gitconfig
) gefunden hat.
In diesem Fall verwendet Git dann den jeweils zuletzt aufgelisteten Wert.
Außerdem kannst du mit dem Befehl git config <key>
prüfen, welchen Wert Git für einen bestimmten Parameter verwendet:
$ git config user.name
John Doe
Anmerkung
|
Da Git möglicherweise den gleichen Wert der Konfigurationsvariablen aus mehr als einer Datei liest, ist es möglich, dass du einen unerwarteten Wert für einen dieser Werte erhältst und nicht weißt, warum. In solchen Fällen kannst du Git nach dem Ursprung (engl. origin) für diesen Wert fragen. Git wird dir sagen, mit welcher Konfigurationsdatei der Wert letztendlich festgelegt wurde:
|