You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: C-git-commands.asc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -261,7 +261,7 @@ Obwohl er an verschiedenen Stellen im Buch verwendet wird, gibt es nur sehr weni
261
261
262
262
Wir haben am Ende von <<ch05-distributed-git#_public_project>> beschrieben, wie man ein Squashed Merge macht (bei dem Git die Arbeit zusammenführt, sich aber so verhält, als wäre es nur ein neuer Commit, ohne die Historie des Branches, in dem man zusammenführt, aufzuzeichnen).
263
263
264
-
Wir haben in <<ch07-git-tools#_advanced_merging>> viel über den Merge-Prozess und -Befehl berichtet, einschließlich des Befehls `-Xignore-space-change` und des `--abort`-Flags, um ein Merge-Problem abzubrechen.
264
+
Wir haben in <<ch07-git-tools#_advanced_merging>> viel über den Merge-Prozess und -Befehl berichtet, einschließlich des Befehls `-Xignore-space-change` und des Flags `--abort`, um ein Merge-Problem abzubrechen.
265
265
266
266
Wir haben in <<ch07-git-tools#_signing_commits>> gelernt, wie man Signaturen vor dem Zusammenführen überprüft, wenn Ihr Projekt GPG-Signaturen verwendet.
Copy file name to clipboardExpand all lines: book/01-introduction/sections/first-time-setup.asc
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ Die Konfiguration ist an drei verschiedenen Orten gespeichert:
19
19
20
20
Jede Ebene überschreibt Werte der vorherigen Ebene, so dass Werte in `.git/config` diejenigen in `/etc/gitconfig` aushebeln.
21
21
22
-
Auf Windows-Systemen sucht Git nach der Datei `.gitconfig` im `$HOME`-Verzeichnis (normalerweise zeigt `$HOME` bei den meisten Systemen auf `C:\Users\$USER`).
22
+
Auf Windows-Systemen sucht Git nach der Datei `.gitconfig` im `$HOME`Verzeichnis (normalerweise zeigt `$HOME` bei den meisten Systemen auf `C:\Users\$USER`).
23
23
Git schaut immer nach `/etc/gitconfig`, auch wenn die sich relativ zu dem MSys-Wurzelverzeichnis befindet, dem Verzeichnis in das Sie Git installiert haben.
24
24
Wenn Sie eine Version 2.x oder neuer von Git für Windows verwenden, gibt es auch eine Konfigurationsdatei auf Systemebene unter
25
25
`C:\Dokumente und Einstellungen\Alle Benutzer\Anwendungsdaten\Git\config` unter Windows XP und unter `C:\ProgramData\Git\config` unter Windows Vista und neuer.
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 `--global`-Option innerhalb des Projektes ausführen.
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.
48
48
49
49
Viele der grafischen Oberflächen helfen einem bei diesem Schritt, wenn Sie sie zum ersten Mal ausführen.
Copy file name to clipboardExpand all lines: book/02-git-basics/sections/getting-a-repository.asc
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ $ git init
38
38
39
39
Der Befehl erzeugt ein Unterverzeichnis `.git`, in dem alle relevanten Git-Repository-Daten enthalten sind, also ein Git-Repository Grundgerüst.
40
40
Zu diesem Zeitpunkt werden noch keine Dateien in Git versioniert.
41
-
In Kapitel 10, <<ch10-git-internals#ch10-git-internals,Git Interna>>, finden Sie weitere Informationen, welche Dateien im `.git`-Verzeichnis enthalten sind und was ihre Aufgabe ist.(((Git Befehle, init)))
41
+
In Kapitel 10, <<ch10-git-internals#ch10-git-internals,Git Interna>>, finden Sie weitere Informationen, welche Dateien im `.git`Verzeichnis enthalten sind und was ihre Aufgabe ist.(((Git Befehle, init)))
42
42
43
43
Wenn Sie bereits existierende Dateien versionieren möchten (und es sich nicht nur um ein leeres Verzeichnis handelt), dann sollten Sie den aktuellen Stand in einem initialen Commit starten.
44
44
Mit dem Befehl `git add` legen Sie fest, welche Dateien versioniert werden sollen und mit dem Befehl `git commit` erzeugen Sie einen neuen Commit:
@@ -70,8 +70,8 @@ Um beispielsweise das Repository der verlinkbaren Git-Bibliothek `libgit2` zu kl
70
70
$ git clone https://github.com/libgit2/libgit2
71
71
----
72
72
73
-
Git legt dann ein Verzeichnis `libgit2` an, initialisiert in diesem ein `.git`-Verzeichnis, lädt alle Daten des Repositorys herunter und checkt eine Arbeitskopie der aktuellsten Version aus.
74
-
Wenn Sie in das neue `libgit2`-Verzeichnis wechseln, finden Sie dort die Projektdateien und können gleich damit arbeiten.
73
+
Git legt dann ein Verzeichnis `libgit2` an, initialisiert in diesem ein `.git`Verzeichnis, lädt alle Daten des Repositorys herunter und checkt eine Arbeitskopie der aktuellsten Version aus.
74
+
Wenn Sie in das neue `libgit2`Verzeichnis wechseln, finden Sie dort die Projektdateien und können gleich damit arbeiten.
75
75
76
76
Wenn Sie das Repository in ein Verzeichnis mit einem anderen Namen als `libgit2` klonen möchten, können Sie das wie folgt durchführen:
Dieser Befehl tut das Gleiche wie der vorhergehende, aber das Zielverzeichnis lautet diesmal `mylibgit`.
84
84
85
85
Git unterstützt eine Reihe unterschiedlicher Übertragungsprotokolle.
86
-
Das vorhergehende Beispiel verwendet das `https://`-Protokoll, aber Ihnen können auch die Angaben `git://` oder `user@server:path/to/repo.git` begegnen, welches das SSH-Transfer-Protokoll verwendet.
86
+
Das vorhergehende Beispiel verwendet das `https://`Protokoll, aber Ihnen können auch die Angaben `git://` oder `user@server:path/to/repo.git` begegnen, welches das SSH-Transfer-Protokoll verwendet.
87
87
Kapitel 4, <<ch04-git-on-the-server#_getting_git_on_a_server,Git auf dem Server>>, stellt alle verfügbaren Optionen vor, die der Server für den Zugriff auf Ihr Git-Repository hat und die Vor- und Nachteile der einzelnen Optionen, die man einrichten kann.
Copy file name to clipboardExpand all lines: book/02-git-basics/sections/recording-changes.asc
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,14 +62,14 @@ Jetzt wollen wir aber Änderungen an der Datei `README` verfolgen und fügen sie
62
62
==== Neue Dateien zur Versionsverwaltung hinzufügen
63
63
64
64
Um eine neue Datei zu versionieren, können Sie den Befehl `git add` verwenden.(((Git Befehle, add)))
65
-
Für Ihre neue `README`-Datei, können Sie folgendes ausführen:
65
+
Für Ihre neue `README`Datei, können Sie folgendes ausführen:
66
66
67
67
[source,console]
68
68
----
69
69
$ git add README
70
70
----
71
71
72
-
Wenn Sie erneut den Befehl `git status` ausführen, werden Sie sehen, dass sich Ihre `README`-Datei jetzt unter Versionsverwaltung befindet und für den nächsten Commit vorgemerkt ist:
72
+
Wenn Sie erneut den Befehl `git status` ausführen, werden Sie sehen, dass sich Ihre `README`Datei jetzt unter Versionsverwaltung befindet und für den nächsten Commit vorgemerkt ist:
73
73
74
74
[source,console]
75
75
----
@@ -86,7 +86,7 @@ Changes to be committed:
86
86
Sie können erkennen, dass die Datei für den nächsten Commit vorgemerkt ist, weil sie unter der Rubrik „Changes to be committed“ aufgelistet ist.
87
87
Wenn Sie jetzt einen Commit anlegen, wird der Schnappschuss den Zustand der Datei festhalten, den sie zum Zeitpunkt des Befehls `git add` hat.
88
88
Sie erinnern sich vielleicht daran, wie Sie vorhin `git init` und anschließend `git add <files>` ausgeführt haben. Mit diesen Befehlen haben Sie die Dateien in Ihrem Verzeichnis zur Versionsverwaltung hinzugefügt.(((Git Befehle, init)))(((Git Befehle, add)))
89
-
Der `git add`-Befehl akzeptiert einen Pfadnamen einer Datei oder eines Verzeichnisses. Wenn Sie ein Verzeichnis angeben, fügt `git add` alle Dateien in diesem Verzeichnis und allen Unterverzeichnissen rekursiv hinzu.
89
+
Der Befehl `git add` akzeptiert einen Pfadnamen einer Datei oder eines Verzeichnisses. Wenn Sie ein Verzeichnis angeben, fügt `git add` alle Dateien in diesem Verzeichnis und allen Unterverzeichnissen rekursiv hinzu.
90
90
91
91
==== Geänderte Dateien zur Staging-Area hinzufügen
92
92
@@ -203,7 +203,7 @@ Das `Rakefile` wurde modifiziert, staged und dann wieder modifiziert, so dass es
203
203
Häufig gibt es eine Reihe von Dateien, die Git nicht automatisch hinzufügen oder schon gar nicht als „nicht versioniert“ (eng. untracked) anzeigen soll.
204
204
Dazu gehören in der Regel automatisch generierte Dateien, wie Log-Dateien oder Dateien, die von Ihrem Build-System erzeugt werden.
205
205
In solchen Fällen können Sie die Datei `.gitignore` erstellen, die eine Liste mit Vergleichsmustern enthält.(((ignorieren von Dateien)))(((Dateien, ignorieren)))
206
-
Hier ist eine `.gitignore`-Beispieldatei:
206
+
Hier ist eine `.gitignore`Beispieldatei:
207
207
208
208
[source,console]
209
209
----
@@ -215,7 +215,7 @@ $ cat .gitignore
215
215
Die erste Zeile weist Git an, alle Dateien zu ignorieren, die auf „.o“ oder „.a“ enden – Objekt- und Archivdateien, die das Ergebnis der Codegenerierung sein könnten.
216
216
Die zweite Zeile weist Git an, alle Dateien zu ignorieren, deren Name mit einer Tilde (`~`) enden, was von vielen Texteditoren wie Emacs zum Markieren temporärer Dateien verwendet wird.
217
217
Sie können auch ein Verzeichnis „log“, „tmp“ oder „pid“ hinzufügen, eine automatisch generierte Dokumentation usw.
218
-
Es ist im Allgemeinen eine gute Idee, die `.gitignore`-Datei für Ihr neues Repository einzurichten, noch bevor Sie loslegen. So können Sie nicht versehentlich Dateien committen, die Sie wirklich nicht in Ihrem Git-Repository haben möchten.
218
+
Es ist im Allgemeinen eine gute Idee, die `.gitignore`Datei für Ihr neues Repository einzurichten, noch bevor Sie loslegen. So können Sie nicht versehentlich Dateien committen, die Sie wirklich nicht in Ihrem Git-Repository haben möchten.
219
219
220
220
Die Richtlinien für Vergleichsmuster, die Sie in der Datei `.gitignore` eingeben können, lauten wie folgt:
221
221
@@ -229,7 +229,7 @@ Platzhalter-Zeichen sind wie einfache, reguläre Ausdrücke, die von der Shell g
229
229
Ein Sternchen (`*`) entspricht null oder mehr Zeichen; `[abc]` entspricht jedem Zeichen innerhalb der eckigen Klammern (in diesem Fall a, b oder c); ein Fragezeichen (`?`) entspricht einem einzelnen Zeichen und eckige Klammern, die durch einen Bindestrich (`[0-9]`) getrennte Zeichen einschließen, passen zu jedem Zeichen dazwischen (in diesem Fall von 0 bis 9).
230
230
Sie können auch zwei Sterne verwenden, um verschachtelte Verzeichnisse abzugleichen; `a/**/z` würde zu `a/z`, `a/b/z`, `a/b/c/z` usw. passen.
231
231
232
-
Hier ist eine weitere `.gitignore`-Beispieldatei:
232
+
Hier ist eine weitere `.gitignore`Beispieldatei:
233
233
234
234
[source]
235
235
----
@@ -254,17 +254,17 @@ doc/**/*.pdf
254
254
255
255
[TIP]
256
256
====
257
-
GitHub unterhält eine ziemlich umfassende Liste guter `.gitignore`-Beispiel-Dateien für Dutzende von Projekten und Sprachen auf https://github.com/github/gitignore[], falls Sie einen Ansatzpunkt für Ihr Projekt suchen.
257
+
GitHub unterhält eine ziemlich umfassende Liste guter `.gitignore`Beispiel-Dateien für Dutzende von Projekten und Sprachen auf https://github.com/github/gitignore[], falls Sie einen Ansatzpunkt für Ihr Projekt suchen.
258
258
====
259
259
260
260
[NOTE]
261
261
====
262
-
Im einfachsten Fall kann ein Repository eine einzelne `.gitignore`-Datei in seinem Root-Verzeichnis haben, die rekursiv für das gesamte Repository gilt.
263
-
Es ist aber auch möglich, weitere `.gitignore`-Dateien in Unterverzeichnissen anzulegen.
264
-
Die Regeln dieser verschachtelten `.gitignore`-Dateien gelten nur für die in dem Verzeichnis (und unterhalb) liegenden Dateien.
265
-
Das Linux-Kernel-Source-Repository hat beispielsweise 206 `.gitignore`-Dateien.
262
+
Im einfachsten Fall kann ein Repository eine einzelne `.gitignore`Datei in seinem Root-Verzeichnis haben, die rekursiv für das gesamte Repository gilt.
263
+
Es ist aber auch möglich, weitere `.gitignore`Dateien in Unterverzeichnissen anzulegen.
264
+
Die Regeln dieser verschachtelten `.gitignore`Dateien gelten nur für die in dem Verzeichnis (und unterhalb) liegenden Dateien.
265
+
Das Linux-Kernel-Source-Repository hat beispielsweise 206 `.gitignore`Dateien.
266
266
267
-
Es würde den Rahmen dieses Buches sprengen, detaillierter auf den Einsatz mehrerer `.gitignore`-Dateien einzugehen; siehe die Manpage `man gitignore` für weitere Informationen.
267
+
Es würde den Rahmen dieses Buches sprengen, detaillierter auf den Einsatz mehrerer `.gitignore`Dateien einzugehen; siehe die Manpage `man gitignore` für weitere Informationen.
268
268
====
269
269
270
270
[[_git_diff_staged]]
@@ -509,7 +509,7 @@ Das ist bequem, aber seien Sie vorsichtig. Manchmal führt dieses Flag dazu, das
509
509
Um eine Datei aus Git zu entfernen, müssen Sie sie aus der Versionsverwaltung entfernen (genauer gesagt, aus Ihrem Staging-Bereich löschen) und dann committen.
510
510
Der Befehl `git rm` erledigt das und entfernt die Datei auch aus Ihrem Arbeitsverzeichnis, so dass Sie sie beim nächsten Mal nicht mehr als „untracked“-Datei sehen.
511
511
512
-
Wenn Sie die Datei einfach aus Ihrem Arbeitsverzeichnis entfernen, erscheint sie unter dem „Changes not staged for commit“-Bereich (das ist die _unstaged_-Area) Ihrer `git status`-Ausgabe:
512
+
Wenn Sie die Datei einfach aus Ihrem Arbeitsverzeichnis entfernen, erscheint sie unter dem „Changes not staged for commit“-Bereich (das ist die _unstaged_-Area) Ihrer `git status`Ausgabe:
513
513
514
514
[source,console]
515
515
----
@@ -547,7 +547,7 @@ Hierbei handelt es sich um eine Sicherheitsfunktion, die ein versehentliches Ent
547
547
548
548
Eine weitere nützliche Sache, die Sie möglicherweise nutzen möchten, ist, die Datei in Ihrem Verzeichnisbaum zu behalten, sie aber aus Ihrer Staging-Area zu entfernen.
549
549
Mit anderen Worten, Sie können die Datei auf Ihrer Festplatte behalten, aber nicht mehr von Git protokollieren/versionieren lassen.
550
-
Das ist besonders dann nützlich, wenn Sie vergessen haben, etwas zu Ihrer `.gitignore`-Datei hinzuzufügen und diese versehentlich „gestaged“ haben, wie eine große Logdatei oder eine Reihe von `.a`-kompilierten Dateien.
550
+
Das ist besonders dann nützlich, wenn Sie vergessen haben, etwas zu Ihrer `.gitignore`Datei hinzuzufügen und diese versehentlich „gestaged“ haben, wie eine große Logdatei oder eine Reihe von `.a`-kompilierten Dateien.
Copy file name to clipboardExpand all lines: book/02-git-basics/sections/remotes.asc
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,7 @@ Beachten Sie, dass diese Remotes eine Vielzahl von Protokollen verwenden; wir we
71
71
72
72
==== Hinzufügen von Remote-Repositorys
73
73
74
-
Wir haben bereits erwähnt und einige Beispiele gezeigt, wie der Befehl `git clone` stillschweigend den `origin`-Remote für Sie hinzufügt.
74
+
Wir haben bereits erwähnt und einige Beispiele gezeigt, wie der Befehl `git clone` stillschweigend den Remote `origin` für Sie hinzufügt.
75
75
So können Sie explizit einen neuen Remote hinzufügen.(((Git Befehle, remote)))
76
76
Um ein neues Remote-Git-Repository als Kurzname hinzuzufügen, auf das Sie leicht verweisen können, führen Sie `git remote add <shortname> <url>` aus:
77
77
@@ -102,7 +102,7 @@ From https://github.com/paulboone/ticgit
102
102
* [new branch] ticgit -> pb/ticgit
103
103
----
104
104
105
-
Pauls `master`-Branch ist nun lokal als `pb/master` erreichbar – Sie können ihn in eine Ihrer Branches einbinden, oder Sie können an dieser Stelle in einen lokalen Branch wechseln (engl. checkout), wenn Sie ihn inspizieren möchten.
105
+
Pauls `master`Branch ist nun lokal als `pb/master` erreichbar – Sie können ihn in eine Ihrer Branches einbinden, oder Sie können an dieser Stelle in einen lokalen Branch wechseln (engl. checkout), wenn Sie ihn inspizieren möchten.
106
106
(Wir werden in <<ch03-git-branching#ch03-git-branching,Git Branching>> näher darauf eingehen, was Branches sind und wie man sie viel präziser nutzen kann.)
107
107
108
108
[[_fetching_and_pulling]]
@@ -124,15 +124,15 @@ Es ist jedoch wichtig zu beachten, dass der Befehl `git fetch` nur die Daten in
124
124
Sie müssen das Ganze manuell mit Ihrer Arbeit zusammenführen, wenn Sie fertig sind.
125
125
126
126
Wenn Ihr aktueller Branch so eingerichtet ist, dass er einen entfernten Branch verfolgt (engl. tracking), können Sie den Befehl `git pull` verwenden, um diesen entfernten Branch automatisch zu holen und dann mit Ihrem aktuellen Branch zusammenzuführen (siehe den nächsten Abschnitt und <<ch03-git-branching#ch03-git-branching,Git Branching>> für weitere Informationen).(((Git Befehle, pull)))
127
-
Das könnte ein einfacherer oder komfortablerer Workflow für Sie sein. Standardmäßig richtet der Befehl `git clone` Ihren lokalen `master`-Branch automatisch so ein, dass er den entfernten `master`-Branch (oder wie auch immer der Standard-Branch genannt wird) auf dem Server versioniert, von dem Sie geklont haben.
127
+
Das könnte ein einfacherer oder komfortablerer Workflow für Sie sein. Standardmäßig richtet der Befehl `git clone` Ihren lokalen `master`Branch automatisch so ein, dass er den entfernten `master`Branch (oder wie auch immer der Standard-Branch genannt wird) auf dem Server versioniert, von dem Sie geklont haben.
128
128
Wenn Sie `git pull` ausführen, werden normalerweise Daten von dem Server abgerufen, von dem Sie ursprünglich geklont haben, und es wird automatisch versucht, sie in den Code zu mergen, an dem Sie gerade arbeiten.
129
129
130
130
[[_pushing_remotes]]
131
131
==== Zu Ihren Remotes Pushen
132
132
133
133
Wenn Sie Ihr Projekt an einem bestimmten Punkt haben, den Sie teilen möchten, müssen Sie es zum Upstream verschieben (engl. pushen).
134
134
Der Befehl dafür ist einfach: `git push <remote> <branch>`.(((Git Befehle, push)))
135
-
Wenn Sie Ihren `master`-Branch auf Ihren `origin`-Server verschieben möchten (nochmals, das Klonen richtet im Regelfall beide dieser Namen automatisch für Sie ein), dann können Sie diesen Befehl auch nutzen, um alle Commits, die Sie durchgeführt haben, auf den Server zu übertragen:
135
+
Wenn Sie Ihren `master`Branch auf Ihren `origin`Server verschieben möchten (nochmals, das Klonen richtet im Regelfall beide dieser Namen automatisch für Sie ein), dann können Sie diesen Befehl auch nutzen, um alle Commits, die Sie durchgeführt haben, auf den Server zu übertragen:
136
136
137
137
[source,console]
138
138
----
@@ -167,7 +167,7 @@ $ git remote show origin
167
167
----
168
168
169
169
Er listet die URL für das Remote-Repository sowie die Informationen zu den Tracking-Branchen auf.
170
-
Der hilfreiche Befehl teilt Ihnen mit, dass, wenn Sie sich im `master`-Branch befinden und falls Sie `git pull` ausführen, dieser automatisch im Master-Zweig des Remote gemergt wird, nachdem er alle Remote-Referenzen abgerufen (engl. fetched) hat.
170
+
Der hilfreiche Befehl teilt Ihnen mit, dass, wenn Sie sich im `master`Branch befinden und falls Sie `git pull` ausführen, dieser automatisch im Master-Zweig des Remote gemergt wird, nachdem er alle Remote-Referenzen abgerufen (engl. fetched) hat.
171
171
Er listet auch alle Remote-Referenzen auf, die er abgerufen hat.
172
172
173
173
Das ist nur ein einfaches Beispiel, auf das Sie vermutlich treffen werden.
0 commit comments