Skip to content

Commit 36aa52c

Browse files
authored
Ch01+einleigung vom sie zum du (#377)
* doppelt zeile entfernt 2 * Vom Siezen zum Duzen --------- Co-authored-by: Oscar Santiago <[email protected]>
1 parent c460b29 commit 36aa52c

12 files changed

+142
-147
lines changed

LICENSE.asc

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
Dieses Werk ist lizensiert unter der „Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported“ Lizenz.
2-
Um eine Kopie dieser Lizenz zu lesen, besuchen Sie https://creativecommons.org/licenses/by-nc-sa/3.0 oder senden Sie einen Brief an Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
1+
Dieses Werk ist lizenziert unter der „Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported“ Lizenz.
2+
Um eine Kopie dieser Lizenz zu lesen, besuche https://creativecommons.org/licenses/by-nc-sa/3.0 oder sende einen Brief an Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

book/01-introduction/sections/about-version-control.asc

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ Was ist „Versionsverwaltung“, und warum sollten Sie sich dafür interessiere
55
Versionsverwaltung ist ein System, welches die Änderungen an einer oder einer Reihe von Dateien über die Zeit hinweg protokolliert, sodass man später auf eine bestimmte Version zurückgreifen kann.
66
Die Dateien, die in den Beispielen in diesem Buch unter Versionsverwaltung gestellt werden, enthalten Quelltext von Software. Tatsächlich kann in der Praxis nahezu jede Art von Datei per Versionsverwaltung nachverfolgt werden.
77

8-
Wenn Sie Grafik- oder Webdesigner sind und jede Version eines Bildes oder Layouts behalten möchten (was Sie mit Sicherheit möchten), ist die Verwendung eines Versionskontrollsystems (VCS) eine sehr kluge Sache.
9-
Damit können Sie ausgewählte Dateien auf einen früheren Zustand zurücksetzen, das gesamte Projekt auf einen früheren Zustand zurücksetzen, Änderungen im Laufe der Zeit vergleichen, sehen, wer zuletzt etwas geändert hat, das möglicherweise ein Problem verursacht, wer wann ein Problem verursacht hat und vieles mehr.
10-
Die Verwendung eines VCS bedeutet im Allgemeinen auch, dass Sie problemlos eine Wiederherstellung durchführen können, wenn etwas kaputt geht oder Dateien verloren gehen.
8+
Wenn du Grafik- oder Webdesigner bist und jede Version eines Bildes oder Layouts behalten möchtest (was Du mit Sicherheit möchtest), ist die Verwendung eines Versionskontrollsystems (VCS) eine sehr kluge Sache.
9+
Damit kannst du ausgewählte Dateien auf einen früheren Zustand zurücksetzen, das gesamte Projekt auf einen früheren Zustand zurücksetzen, zurückliegende Änderungen vergleichen, sehen wer zuletzt etwas geändert hat, das möglicherweise ein Problem verursacht, wer wann ein Problem verursacht hat und vieles mehr.
10+
Die Verwendung eines VCS bedeutet im Allgemeinen auch, dass du problemlos eine Wiederherstellung durchführen könntest, wenn etwas kaputt geht oder Dateien verloren gehen.
1111
All diese Vorteile erhält man mit einen nur sehr geringen, zusätzlichen Aufwand.
1212

1313
==== Lokale Versionsverwaltung
@@ -28,7 +28,7 @@ https://www.gnu.org/software/rcs/[RCS^] arbeitet nach dem Prinzip, dass für jed
2828
==== Zentrale Versionsverwaltung
2929

3030
(((Versionsverwaltung, zentral)))
31-
Ein weiteres großes Problem, mit dem sich viele Leute dann konfrontiert sahen, bestand in der Zusammenarbeit mit anderen Entwicklern auf anderen Systemen.
31+
Ein weiteres großes Problem, mit dem sich viele Leute konfrontiert sahen, bestand in der Zusammenarbeit mit anderen Entwicklern auf anderen Systemen.
3232
Um dieses Problem zu lösen, wurden zentralisierte Versionsverwaltungssysteme entwickelt (engl. Centralized Version Control System, CVCS).
3333
Diese Systeme, wozu beispielsweise CVS, Subversion und Perforce gehören, basieren auf einem zentralen Server, der alle versionierte Dateien verwaltet. Die Clients können die Dateien von diesem zentralen Ort abholen und auf ihren PC übertragen. Den Vorgang des Abholens nennt man Auschecken (engl. to check out). (((CVS)))(((Subversion)))(((Perforce)))
3434
Diese Art von System war über viele Jahre hinweg der Standard für Versionsverwaltungssysteme.
@@ -41,10 +41,10 @@ Zum Beispiel weiß jeder mehr oder weniger genau darüber Bescheid, was andere a
4141
Administratoren haben die Möglichkeit, detailliert festzulegen, wer was tun kann. Und es ist sehr viel einfacher, ein CVCS zu administrieren als lokale Datenbanken auf jedem einzelnen Anwenderrechner zu verwalten.
4242

4343
Allerdings hat dieser Aufbau auch einige erhebliche Nachteile.
44-
Der offensichtlichste Nachteil ist das Risiko eines Systemausfalls bei Ausfall einer einzelnen Komponente, nämlich dann, wenn der zentralisierte Server ausfällt.
44+
Der offensichtlichste Nachteil ist das Risiko eines Systemausfalls bei Ausfall einer einzelnen Komponente, d.h. wenn der zentrale Server ausfällt.
4545
Wenn dieser Server nur für eine Stunde nicht verfügbar ist, dann kann in dieser einen Stunde niemand in irgendeiner Form mit anderen zusammenarbeiten oder Dateien, an denen gerade gearbeitet wird, versioniert abspeichern.
4646
Wenn die auf dem zentralen Server eingesetzte Festplatte beschädigt wird und keine Sicherheitskopien erstellt wurden, dann sind all diese Daten unwiederbringlich verloren – die komplette Historie des Projektes, abgesehen natürlich von dem jeweiligen Zustand, den Mitarbeiter gerade zufällig auf ihrem Rechner noch vorliegen haben.
47-
Lokale Versionskontrollsysteme haben natürlich dasselbe Problem: Wenn man die Historie eines Projektes an einer einzigen, zentralen Stelle verwaltet, riskiert man, sie vollständig zu verlieren, wenn irgendetwas an dieser zentralen Stelle ernsthaft schief läuft.
47+
Lokale Versionskontrollsysteme haben natürlich dasselbe Problem: Wenn man die Historie eines Projektes an einer einzigen, zentralen Stelle verwaltet, riskiert man, sie vollständig zu verlieren, wenn irgendetwas an dieser zentralen Stelle schief läuft.
4848

4949
==== Verteilte Versionsverwaltung
5050

book/01-introduction/sections/command-line.asc

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ Es gibt viele verschiedene Möglichkeiten Git einzusetzen.
44
Auf der einen Seite gibt es die Werkzeuge, die per Kommandozeile bedient werden und auf der anderen, die vielen grafischen Benutzeroberflächen (engl. graphical user interface, GUI), die sich im Leistungsumfang unterscheiden.
55
In diesem Buch verwenden wir die Kommandozeile.
66
In der Kommandozeile können nämlich wirklich *alle* vorhandenen Git Befehle ausgeführt werden. Bei den meisten grafischen Oberflächen ist dies nicht möglich, da aus Gründen der Einfachheit nur ein Teil der Git-Funktionalitäten zur Verfügung gestellt werden.
7-
Wenn Sie sich in der Kommandozeilenversion von Git auskennen, finden Sie sich wahrscheinlich auch in einer GUI-Version relativ schnell zurecht, aber andersherum muss das nicht unbedingt zutreffen.
7+
Wenn du dich in der Kommandozeilenversion von Git auskennen, findest du dich wahrscheinlich auch in einer GUI-Version relativ schnell zurecht, aber andersherum muss das nicht unbedingt zutreffen.
88
Außerdem ist die Wahl der grafischen Oberfläche eher Geschmackssache, wohingegen die Kommandozeilenversion auf jedem Rechner installiert und verfügbar ist.
99

10-
In diesem Buch gehen wir deshalb davon aus, dass Sie wissen, wie man bei einem Mac ein Terminal öffnet, oder wie man unter Windows die Eingabeaufforderung oder die Powershell öffnet.
11-
Sollten Sie jetzt nur Bahnhof verstehen, sollten Sie an dieser Stelle abbrechen und sich schlau machen, was ein Terminal bzw. eine Eingabeaufforderung ist und wie man diese bedient. Nur so ist sichergestellt, dass Sie unseren Beispielen und Ausführungen im weiteren Verlauf des Buches folgen können.
10+
In diesem Buch gehen wir deshalb davon aus, dass du weißt, wie man bei einem Mac ein Terminal öffnet, oder wie man unter Windows die Eingabeaufforderung oder die Powershell öffnet.
11+
Falls du jetzt nur Bahnhof verstehst, solltest du an dieser Stelle abbrechen und dich schlau machen, was ein Terminal bzw. eine Eingabeaufforderung ist und wie man diese bedient. Nur so ist sichergestellt, dass du unsere Beispiele und Ausführungen im weiteren Verlauf des Buches folgen kannst.
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,70 @@
11
[[_first_time]]
22
=== Git Basis-Konfiguration
33

4-
Nachdem Git jetzt auf Ihrem System installiert ist, sollten Sie Ihre Git-Konfiguration noch anpassen.
5-
Dies muss nur einmalig auf dem jeweiligen System durchgeführt werden. Die Konfiguration bleibt bestehen, wenn Sie Git auf eine neuere Version aktualisieren.
4+
Nachdem Git jetzt auf deinem System installiert ist, solltest du deine Git-Konfiguration noch anpassen.
5+
Dies muss nur einmalig auf dem jeweiligen System durchgeführt werden. Die Konfiguration bleibt bestehen, wenn du Git auf eine neuere Version aktualisierst.
66
Die Git-Konfiguration kann auch jederzeit geändert werden, indem die nachfolgenden Befehle einfach noch einmal ausgeführt werden.
77

8-
Git umfasst das Werkzeug `git config`, welches die Möglichkeit bietet, Konfigurationswerte zu verändern. Auf diese Weise können Sie anpassen, wie Git aussieht und arbeitet.(((Git Befehle, config)))
8+
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.(((Git Befehle, config)))
99
Die Konfiguration ist an drei verschiedenen Orten gespeichert:
1010

1111
1. Die Datei `[path]/etc/gitconfig`: enthält Werte, die für jeden Benutzer auf dem System und alle seine Repositories gelten.
12-
Wenn Sie die Option `--system` an `git config` übergeben, liest und schreibt sie spezifisch aus dieser Datei.
13-
Da es sich um eine Systemkonfigurationsdatei handelt, benötigen Sie Administrator- oder Superuser-Rechte, um Änderungen daran vorzunehmen.
14-
2. Die Datei `~/.gitconfig` oder `~/.config/git/config`: enthält Werte, die für Sie, den Benutzer, persönlich bestimmt sind.
15-
Sie können Git dazu bringen, diese Datei gezielt zu lesen und zu schreiben, indem Sie die Option `--global` übergeben, und dies betrifft _alle_ der Repositories, mit denen Sie auf Ihrem System arbeiten.
16-
3. Die Datei `config` im Git-Verzeichnis (also `.git/config`) des jeweiligen Repositories, das Sie gerade verwenden:
17-
Sie können Git mit der Option `--local` zwingen, aus dieser Datei zu lesen und in sie zu schreiben, das ist in der Regel die Standardoption.
18-
(Es dürfte Sie nicht überraschen, dass Sie sich irgendwo in einem Git-Repository befinden müssen, damit diese Option ordnungsgemäß funktioniert.)
12+
Wenn du die Option `--system` an `git config` übergibst, liest und schreibt sie aus dieser Datei.
13+
Da es sich um eine Systemkonfigurationsdatei handelt, benötigst du Administrator- oder Superuser-Rechte, um Änderungen daran vorzunehmen.
14+
2. Die Datei `~/.gitconfig` oder `~/.config/git/config`: enthält Werte, die für dich, den Benutzer, persönlich bestimmt sind.
15+
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.
16+
3. Die Datei `config` im Git-Verzeichnis (also `.git/config`) des jeweiligen Repositories, das du gerade verwendest:
17+
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.
18+
(Es dürfte klar sein, dass du dich irgendwo in einem Git-Repository befinden musst, damit diese Option ordnungsgemäß funktioniert.)
1919

20-
Jede Ebene überschreibt Werte der vorherigen Ebene, so dass Werte in `.git/config` diejenigen in `[path]/etc/gitconfig` aushebeln.
20+
Jede Ebene überschreibt Werte der vorherigen Ebene, so dass Werte in `.git/config` diejenigen in `[path]/etc/gitconfig` aushebelt.
2121

2222
Auf Windows-Systemen sucht Git nach der Datei `.gitconfig` im `$HOME` Verzeichnis (normalerweise zeigt `$HOME` bei den meisten Systemen auf `C:\Users\$USER`).
23-
Git schaut immer nach `[path]/etc/gitconfig`, auch wenn die sich relativ zu dem MSys-Wurzelverzeichnis befindet, dem Verzeichnis in das Sie Git installiert haben.
24-
Wenn Sie eine Version 2.x oder neuer von Git für Windows verwenden, gibt es auch eine Konfigurationsdatei auf Systemebene unter
25-
`C:\Dokumente und Einstellungen\Alle Benutzer\Anwendungsdaten\Git\config` unter Windows XP und unter `C:\ProgramData\Git\config` unter Windows Vista und neuer.
23+
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.
24+
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.
2625
Diese Konfigurationsdatei kann nur von `git config -f <file>` als Admin geändert werden.
2726

28-
Sie können sich alle Ihre Einstellungen ansehen sehen, wo sie herkommen:
27+
Du kannst dir alle Git Einstellungen ansehen und wo sie herkommen mit:
2928

3029
[source,console]
3130
----
3231
$ git config --list --show-origin
3332
----
3433

35-
==== Ihre Identität
34+
==== Deine Identität
3635

37-
Nachdem Sie Git installiert haben, sollten Sie als allererstes Ihren Namen und Ihre E-Mail-Adresse in Git konfigurieren.
38-
Das ist insofern wichtig, da jeder Git-Commit diese Informationen verwendet und sie unveränderlich in die Commits eingearbeitet werden, die Sie erstellen:
36+
Nachdem du Git installiert hast, solltest du als allererstes deinen Namen und deine E-Mail-Adresse in Git konfigurieren.
37+
Das ist insofern wichtig, da jeder Git-Commit diese Informationen verwendet und sie unveränderlich in die Commits eingearbeitet werden, die du erstellst:
3938

4039
[source,console]
4140
----
4241
$ git config --global user.name "John Doe"
4342
$ git config --global user.email [email protected]
4443
----
4544

46-
Wie schon erwähnt, brauchen Sie diese Konfiguration nur einmal vorzunehmen, wenn Sie die Option `--global` verwenden. Auf Grund der oben erwähnten Prioritäten gilt das dann für alle Ihre Projekte.
47-
Wenn Sie für ein spezielles Projekt einen anderen Namen oder eine andere E-Mail-Adresse verwenden möchten, können Sie den Befehl ohne die Option `--global` innerhalb des Projektes ausführen.
45+
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.
46+
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.
4847

49-
Viele der grafischen Oberflächen helfen einem bei diesem Schritt, wenn Sie sie zum ersten Mal ausführen.
48+
Viele der grafischen Oberflächen helfen einem bei diesem Schritt, wenn du sie zum ersten Mal ausführst.
5049

5150
[[_editor]]
52-
==== Ihr Editor
51+
==== Dein Editor
5352

54-
Jetzt, da Ihre Identität eingerichtet ist, können Sie den Standard-Texteditor konfigurieren, der verwendet wird, wenn Git Sie zum Eingeben einer Nachricht auffordert.
53+
Jetzt, da deine Identität eingerichtet ist, kannst du den Standard-Texteditor konfigurieren, der verwendet wird, wenn Git dich zum Eingeben einer Nachricht auffordert.
5554
Normalerweise verwendet Git den Standard-Texteditor des jeweiligen Systems.
5655

57-
Wenn Sie einen anderen Texteditor, z.B. Emacs, verwenden wollen, können Sie das wie folgt festlegen:
56+
Wenn du einen anderen Texteditor, z.B. Emacs, verwenden willst, kannst du das wie folgt festlegen:
5857

5958
[source,console]
6059
----
6160
$ git config --global core.editor emacs
6261
----
6362

64-
Wenn Sie auf einem Windows-System einen anderen Texteditor verwenden möchten, müssen Sie den vollständigen Pfad zu seiner ausführbaren Datei angeben.
65-
Dies kann, je nachdem, wie Ihr Editor eingebunden ist, unterschiedlich sein.
63+
Wenn du auf einem Windows-System einen anderen Texteditor verwenden möchtest, musst du den vollständigen Pfad zu seiner ausführbaren Datei angeben.
64+
Dies kann, je nachdem, wie dein Editor eingebunden ist, unterschiedlich sein.
6665

67-
Im Falle von Notepad++, einem beliebten Programmiereditor, sollten Sie wahrscheinlich die 32-Bit-Version verwenden, da die 64-Bit-Version zum Zeitpunkt der Erstellung nicht alle Plug-Ins unterstützt.
68-
Beim Einsatz auf einem 32-Bit-Windows-System oder einem 64-Bit-Editor auf einem 64-Bit-System geben Sie etwa Folgendes ein:
66+
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.
67+
Beim Einsatz auf einem 32-Bit-Windows-System oder einem 64-Bit-Editor auf einem 64-Bit-System gibst du etwa Folgendes ein:
6968

7069
[source,console]
7170
----
@@ -75,22 +74,22 @@ $ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -m
7574
[NOTE]
7675
====
7776
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.
78-
Wenn Sie einen anderen Editor oder eine 32-Bit-Version verwenden, finden Sie in <<C-git-commands#ch_core_editor>> spezielle Anweisungen, wie Sie Ihren bevorzugten Editor mit Git einrichten können.
77+
Wenn du einen anderen Editor oder eine 32-Bit-Version verwenden, findest du in <<C-git-commands#ch_core_editor>> spezielle Anweisungen, wie du deinen bevorzugten Editor mit Git einrichten kannst.
7978
====
8079

8180
[WARNING]
8281
====
83-
Wenn Sie Git nicht so konfigurieren, dass es Ihren Texteditor verwendet und Sie keine Ahnung davon haben, wie man Vim oder Emacs benutzt, werden Sie ein wenig überfordert sein, wenn diese zum ersten Mal von Git gestartet werden.
82+
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.
8483
Ein Beispiel auf einem Windows-System könnte ein vorzeitig beendeter Git-Vorgang während einer von Git initiierten Editor-Bearbeitung sein.
8584
====
8685

8786
[[_new_default_branch]]
8887
==== Der standardmäßige Branch-Name
8988

90-
In der Voreinstellung wird Git einen Branch mit dem Namen _master_ erzeugen, wenn Sie ein neues Repository mit `git init` erstellen.
91-
Ab der Git-Version 2.28 können Sie einen abweichenden Namen für den initialen Branch festlegen.
89+
In der Voreinstellung wird Git einen Branch mit dem Namen _master_ erzeugen, wenn du ein neues Repository mit `git init` erstellst.
90+
Ab der Git-Version 2.28 kannst du einen abweichenden Namen für den initialen Branch festlegen.
9291

93-
So konfigurieren Sie _main_ als Vorgabe für den Branch-Namen:
92+
So konfigurierst du _main_ als Vorgabe für den Branch-Namen:
9493

9594
[source,console]
9695
----
@@ -99,7 +98,7 @@ $ git config --global init.defaultBranch main
9998

10099
==== Einstellungen überprüfen
101100

102-
Wenn Sie Ihre Konfigurationseinstellungen überprüfen möchten, können Sie mit dem Befehl `git config --list` alle Einstellungen auflisten, die Git derzeit finden kann:
101+
Wenn du deine Konfigurationseinstellungen überprüfen möchtest, kannst du mit dem Befehl `git config --list` alle Einstellungen auflisten, die Git derzeit finden kann:
103102

104103
[source,console]
105104
----
@@ -116,7 +115,7 @@ color.diff=auto
116115
Manche Parameter werden möglicherweise mehrfach aufgelistet, weil Git denselben Parameter in verschiedenen Dateien (z.B. `[path]/etc/gitconfig` und `~/.gitconfig`) gefunden hat.
117116
In diesem Fall verwendet Git dann den jeweils zuletzt aufgelisteten Wert.
118117

119-
Außerdem können Sie mit dem Befehl `git config <key>` prüfen, welchen Wert Git für einen bestimmten Parameter verwendet:(((Git Befehle, config)))
118+
Außerdem kannst du mit dem Befehl `git config <key>` prüfen, welchen Wert Git für einen bestimmten Parameter verwendet:(((Git Befehle, config)))
120119

121120
[source,console]
122121
----
@@ -126,12 +125,12 @@ John Doe
126125

127126
[NOTE]
128127
====
129-
Da Git möglicherweise den gleichen Wert der Konfigurationsvariablen aus mehr als einer Datei liest, ist es möglich, dass Sie einen unerwarteten Wert für einen dieser Werte haben und nicht wissen, warum.
130-
In solchen Fällen können Sie Git nach dem _Ursprung_ (engl. origin) für diesen Wert fragen, und es wird Ihnen sagen, mit welcher Konfigurationsdatei der Wert letztendlich festgelegt wurde:
128+
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.
129+
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:
131130
132131
[source,console]
133132
----
134133
$ git config --show-origin rerere.autoUpdate
135134
file:/home/johndoe/.gitconfig false
136135
----
137-
====
136+
====

0 commit comments

Comments
 (0)