Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kapitel 2 - Von Sie auf Du #372

Merged
merged 1 commit into from
Feb 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions book/02-git-basics/sections/aliases.asc
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
=== Git Aliases

(((Aliasnamen)))
Bevor wir dieses Kapitel über Basic Git abschließen, gibt es noch einen kurzen Tipp, der Ihre Arbeit mit Git einfacher, leichter und verständlicher machen kann: Aliase.
Der Klarheit halber werden wir sie nirgendwo anders in diesem Buch verwenden, aber wenn Sie Git in Zukunft regelmäßig verwenden, dann sind Aliase etwas, das Sie kennen sollten.
Bevor wir dieses Kapitel über Basic Git abschließen, gibt es noch einen kurzen Tipp, der deine Arbeit mit Git einfacher, leichter und verständlicher machen kann: Aliase.
Der Klarheit halber werden wir sie nirgendwo anders in diesem Buch verwenden, aber wenn du Git in Zukunft regelmäßig verwendest, dann sind Aliase etwas, das du kennen solltest.

Git erkennt nicht automatisch Ihren abgesetzten Befehl, wenn Sie ihn nur teilweise eingeben.
Wenn Sie nicht den gesamten Text jedes Git-Befehls eingeben möchten, können Sie mit Hilfe von `git config` einfach ein Alias für jeden Befehl einrichten.(((Git Befehle, config)))
Hier sind ein paar Beispiele, die Sie einrichten sollten:
Git erkennt nicht automatisch deinen abgesetzten Befehl, wenn du ihn nur teilweise eingibst.
Wenn du nicht den gesamten Text jedes Git-Befehls eingeben möchtest, könntest du mit Hilfe von `git config` einfach ein Alias für jeden Befehl einrichten.(((Git Befehle, config)))
Hier sind ein paar Beispiele, die du einrichten sollten:

[source,console]
----
Expand All @@ -17,11 +17,11 @@ $ git config --global alias.ci commit
$ git config --global alias.st status
----

Das bedeutet, dass Sie z.B. anstelle von `git commit` einfach `git ci` eingeben können.
Wenn Sie Git nun weiter verwenden, werden Sie vermutlich auch andere Befehle häufig verwenden; scheuen Sie sich nicht, neue Aliase zu erstellen.
Das bedeutet, dass du z.B. anstelle von `git commit` einfach `git ci` eingeben kannst.
Je mehr du Git verwendest, wirst du vermutlich noch andere Befehle häufiger verwenden; scheue dich nicht, neue Aliase zu erstellen.

Diese Technik kann auch sehr nützlich sein, um Befehle zu erstellen, von denen Sie glauben, dass sie vorhanden sein sollten.
Um beispielsweise ein Usability-Problem zu beheben, auf das Sie beim Entfernen einer Datei aus der Staging-Area stoßen, können Sie Git Ihren eigenen Unstage-Alias hinzufügen:
Diese Technik kann auch sehr nützlich sein, um Befehle zu erstellen, von denen du glaubst, dass sie vorhanden sein sollten.
Um beispielsweise ein Usability-Problem zu beheben, auf das du beim Entfernen einer Datei aus der Staging-Area stößt, kannst du Git deinen eigenen Unstage-Alias hinzufügen:

[source,console]
----
Expand All @@ -44,7 +44,7 @@ Es ist auch üblich, einen `last` (dt. letzten) Befehl hinzuzufügen, so wie hie
$ git config --global alias.last 'log -1 HEAD'
----

Auf diese Weise können Sie den letzten Commit leicht auffinden:
Auf diese Weise kannst du den letzten Commit leicht auffinden:

[source,console]
----
Expand All @@ -58,10 +58,10 @@ Date: Tue Aug 26 19:48:51 2008 +0800
Signed-off-by: Scott Chacon <schacon@example.com>
----

Wie Sie feststellen können, ersetzt Git einfach den neuen Befehl durch den Alias, für den Sie ihn verwenden.
Vielleicht möchten Sie jedoch eher einen externen Befehl als einen Git-Subbefehl ausführen.
In diesem Fall starten Sie den Befehl mit einem Ausrufezeichen (`!`).
Das ist hilfreich, wenn Sie Ihre eigenen Tools schreiben, die mit einem Git-Repository arbeiten.
Wie du siehst, ersetzt Git den neuen Befehl einfach durch den Alias, den du ihn geben hast.
Vielleicht möchtest du jedoch eher einen externen Befehl als einen Git-Subbefehl ausführen.
In diesem Fall starte den Befehl mit einem Ausrufezeichen (`!`).
Das ist hilfreich, wenn du deine eigenen Tools schreibst, die mit einem Git-Repository arbeiten.
Hier ein Beispiel, in dem wir `git visual` mit `gitk` aliasen:

[source,console]
Expand Down
49 changes: 25 additions & 24 deletions book/02-git-basics/sections/getting-a-repository.asc
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
[[_getting_a_repo]]
=== Ein Git-Repository anlegen

Sie haben zwei Möglichkeiten, ein Git-Repository auf Ihrem Rechner anzulegen.
Du hast zwei Möglichkeiten, ein Git-Repository auf Deinem Rechner anzulegen.

1. Sie können ein lokales Verzeichnis, das sich derzeit nicht unter Versionskontrolle befindet, in ein Git-Repository verwandeln, oder
2. Sie können ein bestehendes Git-Repository von einem anderen Ort aus _klonen_.
1. Du kannst ein lokales Verzeichnis, das sich derzeit nicht unter Versionskontrolle befindet, in ein Git-Repository verwandeln, oder
2. Du kannst ein bestehendes Git-Repository von einem anderen Ort aus _klonen_.

In beiden Fällen erhalten Sie ein einsatzbereites Git-Repository auf Ihrem lokalen Rechner.
In beiden Fällen erhältst Du ein einsatzbereites Git-Repository auf Deinem lokalen Rechner.

==== Ein Repository in einem bestehenden Verzeichnis einrichten

Wenn Sie ein Projektverzeichnis haben, das sich derzeit nicht unter Versionskontrolle befindet, und Sie mit der Kontrolle über Git beginnen möchten, müssen Sie zunächst in das Verzeichnis dieses Projekts wechseln.
Wenn Sie dies noch nie getan haben, sieht es je nachdem, welches System Sie verwenden, etwas anders aus:
Wenn Du ein Projektverzeichnis hast, das sich derzeit nicht unter Versionskontrolle befindet, und Du mit dessen Versionierung über Git beginnen möchten, musst Du zunächst in das Verzeichnis dieses Projekts wechseln.
Das sieht je nachdem, welches System verwendet wird, unterschiedlich aus:

für Linux:
[source,console]
Expand All @@ -29,19 +29,20 @@ für Windows:
$ cd C:/Users/user/my_project
----

Führen Sie dort folgenden Befehl aus:
Führe dort folgenden Befehl aus:

[source,console]
----
$ git init
----

Der Befehl erzeugt ein Unterverzeichnis `.git`, in dem alle relevanten Git-Repository-Daten enthalten sind, also ein Git-Repository Grundgerüst.
Der Befehl erzeugt ein Unterverzeichnis `.git`, in dem alle relevanten Git-Repository-Daten enthalten sind, also so etwas wie ein Git-Repository Grundgerüst.
Zu diesem Zeitpunkt werden noch keine Dateien in Git versioniert.
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)))
In Kapitel 10, <<ch10-git-internals#ch10-git-internals,Git Interna>>, findest Du weitere Informationen, welche Dateien im `.git` Verzeichnis erzeugt wurden.(((Git Befehle, init)))

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.
Mit dem Befehl `git add` legen Sie fest, welche Dateien versioniert werden sollen und mit dem Befehl `git commit` erzeugen Sie einen neuen Commit:
Wenn Du bereits existierende Dateien versionieren möchtest (und es sich nicht nur um ein leeres Verzeichnis handelt), dann solltest Du den aktuellen Stand mit einem initialen Commit tracken.
Mit dem Befehl `git add` legst Du fest, welche Dateien versioniert werden sollen und mit dem Befehl `git commit` erzeugst Du einen neuen Commit:
Du kannst dies mit ein paar `git add`-Befehlen erreichen. Damit markierst du die zu trackende Dateien. Anschließend gibst du ein `git commit` ein:

[source,console]
----
Expand All @@ -51,29 +52,29 @@ $ git commit -m 'Initial project version'
----

Wir werden gleich noch einmal genauer auf diese Befehle eingehen.
Im Moment ist nur wichtig, dass Sie verstehen, dass Sie jetzt ein Git-Repository erzeugt und einen ersten Commit angelegt haben.
Im Moment ist nur wichtig zu verstehen, dass du jetzt ein Git-Repository erzeugt und einen ersten Commit angelegt hast.

[[_git_cloning]]
==== Ein existierendes Repository klonen

Wenn Sie eine Kopie eines existierenden Git-Repositorys anlegen wollen – um beispielsweise an einem Projekt mitzuarbeiten – können Sie den Befehl `git clone` verwenden.
Wenn Sie bereits Erfahrung mit einem anderen VCS-System, wie Subversion, gesammelt haben, fällt Ihnen bestimmt sofort auf, dass der Befehl „clone“ und nicht etwa „checkout“ lautet.
Das ist ein wichtiger Unterschied, den Sie unbedingt verstehen sollten. Anstatt nur eine einfache Arbeitskopie vom Projekt zu erzeugen, lädt Git nahezu alle Daten, die der Server bereithält, auf den lokalen Rechner.
Jede Version von jeder Datei der Projekt-Historie wird automatisch heruntergeladen, wenn Sie `git clone` ausführen.
Wenn Ihre Serverfestplatte beschädigt wird, können Sie nahezu jeden der Klone auf irgendeinem Client verwenden, um den Server wieder in den Zustand zurückzusetzen, in dem er sich zum Zeitpunkt des Klonens befand. (Sie werden vielleicht einige serverseitige Hooks und dergleichen verlieren, aber alle versionierte Daten wären vorhanden – siehe Kapitel 4, <<ch04-git-on-the-server#_getting_git_on_a_server,Git auf dem Server>>, für weitere Details.)
Wenn du eine Kopie eines existierenden Git-Repositorys anlegen möchtest – um beispielsweise an einem Projekt mitzuarbeiten – kannst du den Befehl `git clone` verwenden.
Wenn du bereits Erfahrung mit einem anderen VCS-System wie Subversion gesammelt hast, fällt dir bestimmt sofort auf, dass der Befehl „clone“ und nicht etwa „checkout“ lautet.
Das ist ein wichtiger Unterschied, den du unbedingt verstehen solltest. Anstatt nur eine einfache Arbeitskopie vom Projekt zu erzeugen, lädt Git nahezu alle Daten, die der Server bereithält, auf den lokalen Rechner.
Jede Version von jeder Datei der Projekt-Historie wird automatisch heruntergeladen, wenn du `git clone` ausführst.
Wenn deine Serverfestplatte beschädigt wird, kannst du nahezu jeden der Klone auf irgendeinem Client verwenden, um den Server wieder in den Zustand zurückzusetzen, in dem er sich zum Zeitpunkt des Klonens befand. (Du wirst vielleicht einige serverseitige Hooks und dergleichen verlieren, aber alle versionierte Daten wären vorhanden – siehe Kapitel 4, <<ch04-git-on-the-server#_getting_git_on_a_server,Git auf dem Server>>, für weitere Details.)

Sie können ein Repository mit dem Befehl `git clone [url]` klonen.(((Git Befehle, clone)))
Um beispielsweise das Repository der verlinkbaren Git-Bibliothek `libgit2` zu klonen, führen Sie den folgenden Befehl aus:
Du klonst ein Repository mit dem Befehl `git clone [url]`.(((Git Befehle, clone)))
Um beispielsweise das Repository der verlinkbaren Git-Bibliothek `libgit2` zu klonen, führst du folgenden Befehl aus:

[source,console]
----
$ git clone https://github.com/libgit2/libgit2
----

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.
Wenn Sie in das neue `libgit2` Verzeichnis wechseln, finden Sie dort die Projektdateien und können gleich damit arbeiten.
Git legt dann ein Verzeichnis `libgit2` an, initialisiert in diesem ein `.git` Verzeichnis, lädt alle Daten des Repositorys herunter und checkt eine Kopie der aktuellsten Version aus.
Wenn du in das neue `libgit2` Verzeichnis wechselst, findest du dort die Projektdateien und kannst gleich damit arbeiten.

Wenn Sie das Repository in ein Verzeichnis mit einem anderen Namen als `libgit2` klonen möchten, können Sie das wie folgt durchführen:
Wenn du das Repository in ein Verzeichnis mit einem anderen Namen als `libgit2` klonen möchtest, kannst du das wie folgt durchführen:

[source,console]
----
Expand All @@ -83,5 +84,5 @@ $ git clone https://github.com/libgit2/libgit2 mylibgit
Dieser Befehl tut das Gleiche wie der vorhergehende, aber das Zielverzeichnis lautet diesmal `mylibgit`.

Git unterstützt eine Reihe unterschiedlicher Übertragungsprotokolle.
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.
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 möglichen Optionen.
Das vorhergehende Beispiel verwendet das `https://` Protokoll, aber dir könnten auch die Angaben `git://` oder `user@server:path/to/repo.git` begegnen, welches das SSH-Transfer-Protokoll verwendet.
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 dein Git-Repository hat und die Vor- und Nachteile der möglichen Optionen.
Loading