Folien aus Subtree aktualisiert
This commit is contained in:
parent
58a626a136
commit
5a064949ca
6 changed files with 1149 additions and 92 deletions
|
|
@ -69,7 +69,7 @@ drwxrwxr-x 2 xxx 4096 Feb 12 08:25 hooks
|
||||||
...
|
...
|
||||||
----
|
----
|
||||||
|
|
||||||
== Repository Status anzeigen lassen
|
=== Repository Status anzeigen lassen
|
||||||
Das Verzeichnis tagebuch ist jetzt ein "git-Repository" - es wird von git "beobachtet". Mit dem Befehl `*git status*` kann der aktuelle Status des "Repos" angezeigt werden.
|
Das Verzeichnis tagebuch ist jetzt ein "git-Repository" - es wird von git "beobachtet". Mit dem Befehl `*git status*` kann der aktuelle Status des "Repos" angezeigt werden.
|
||||||
|
|
||||||
[source,bash]
|
[source,bash]
|
||||||
|
|
@ -90,7 +90,7 @@ Um den git-Workflow zu verstehen, müssen drei Begriffe unterschieden werden: Da
|
||||||
=== Der Git-Workflow
|
=== Der Git-Workflow
|
||||||
image::git_stage_commit_1.png[Git-Workflow 1]
|
image::git_stage_commit_1.png[Git-Workflow 1]
|
||||||
|
|
||||||
== Zuerst Stagen ...
|
=== Zuerst Stagen ...
|
||||||
Eine Datei wird dem Working Directory hinzugefügt.
|
Eine Datei wird dem Working Directory hinzugefügt.
|
||||||
|
|
||||||
image::aufstehen.png[Datei Aufstehen hinzu]
|
image::aufstehen.png[Datei Aufstehen hinzu]
|
||||||
|
|
@ -126,7 +126,7 @@ Changes to be committed:
|
||||||
=== Zuerst Stagen ...
|
=== Zuerst Stagen ...
|
||||||
image::git_add.png[Git Add, width=120%]
|
image::git_add.png[Git Add, width=120%]
|
||||||
|
|
||||||
== ... dann Commiten
|
=== ... dann Commiten
|
||||||
Wenn man mit den im Index vorgemerkten Änderungen zufrieden ist, kann mit `*git commit*` ein "Commit"
|
Wenn man mit den im Index vorgemerkten Änderungen zufrieden ist, kann mit `*git commit*` ein "Commit"
|
||||||
durchgeführt werden. Dadurch wird ein Snapshot mit einer eindeutigen ID erstellt und die Staging Area geleert.
|
durchgeführt werden. Dadurch wird ein Snapshot mit einer eindeutigen ID erstellt und die Staging Area geleert.
|
||||||
Jeder Snapshot lässt sich zu jedem Zeitpunkt wieder herstellen.
|
Jeder Snapshot lässt sich zu jedem Zeitpunkt wieder herstellen.
|
||||||
|
|
@ -160,20 +160,20 @@ nothing to commit, working tree clean
|
||||||
|
|
||||||
image::ersterCommit.png[Working-Tree, width=90%]
|
image::ersterCommit.png[Working-Tree, width=90%]
|
||||||
|
|
||||||
== Git-Workflow - Übersicht
|
=== Git-Workflow - Übersicht
|
||||||
image::git_stage_commit_2.png[Git-Workflow 2, width=50%]
|
image::git_stage_commit_2.png[Git-Workflow 2, width=50%]
|
||||||
|
|
||||||
== Arbeitsaufträge
|
=== Arbeitsaufträge
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
. Halten Sie in der Datei `*fruehstueck.txt*` fest, was es zum Frühstück gab.
|
. Halten Sie in der Datei `*fruehstueck.txt*` fest, was es zum Frühstück gab
|
||||||
. Kontrollieren Sie mit `*git status*`, dass die Datei jetzt existiert, sie jedoch noch nicht unter
|
. Kontrollieren Sie mit `*git status*`, dass die Datei jetzt existiert, sie jedoch noch nicht unter
|
||||||
Versionskontrolle steht.
|
Versionskontrolle steht
|
||||||
. Fügen Sie die Datei `*fruehstueck.txt*` mit dem Befehl `*git add*` `*fruehstueck.txt*` zum Index
|
. Fügen Sie die Datei `*fruehstueck.txt*` mit dem Befehl `*git add*` `*fruehstueck.txt*` zum Index
|
||||||
hinzu.
|
hinzu
|
||||||
. Erstellen Sie einen Commit für das Frühstück. Vergessen Sie die Commit-Message nach der
|
. Erstellen Sie einen Commit für das Frühstück. Vergessen Sie die Commit-Message nach der
|
||||||
`*Option -m*` nicht.
|
`*Option -m*` nicht
|
||||||
. Überprüfen Sie mit `*git status*` den Zustand des Repositorys erneut.
|
. Überprüfen Sie mit `*git status*` den Zustand des Repositorys erneut
|
||||||
====
|
====
|
||||||
|
|
||||||
=== Aktueller Stand
|
=== Aktueller Stand
|
||||||
|
|
@ -203,21 +203,53 @@ Date: Wed Oct 9 14:31:24 2024 +0200
|
||||||
Erster Commit: 'aufstehen.txt' angelegt
|
Erster Commit: 'aufstehen.txt' angelegt
|
||||||
----
|
----
|
||||||
|
|
||||||
|
=== Git log mit schöner Ausgabe
|
||||||
|
Mit `*git log --graph --oneline --decorate --all --color*` kann man alle Commits sehr übersichtlich (am Working Tree) ausgeben.
|
||||||
|
|
||||||
|
[source,bash]
|
||||||
|
----
|
||||||
|
tagebuch$ git log --graph --oneline --decorate --all --color
|
||||||
|
|
||||||
|
* 1393d67 (HEAD -> main) fruehstuecken.txt hinzu
|
||||||
|
* 87a64ff aufstehen.txt hinzu
|
||||||
|
----
|
||||||
|
|
||||||
|
=== Git log mit Alias
|
||||||
|
Da der Befehl `*git log --graph --oneline --decorate --all --color*` sehr lang ist, kann man einen Alias z.B. mit dem Namen "lg" definieren.
|
||||||
|
|
||||||
|
[source,bash]
|
||||||
|
----
|
||||||
|
tagebuch$ git config --global alias.lg "log --graph
|
||||||
|
--oneline --decorate --all --color"
|
||||||
|
|
||||||
|
tagebuch$ git lg
|
||||||
|
|
||||||
|
* 1393d67 (HEAD -> main) fruehstuecken.txt hinzu
|
||||||
|
* 87a64ff aufstehen.txt hinzu
|
||||||
|
----
|
||||||
|
|
||||||
=== Aktueller Working Tree
|
=== Aktueller Working Tree
|
||||||
Man sieht, dass die Commit-Hashes sehr lange sind. Für die Identifizierung eines Commits reichen jedoch die ersten 7 Stellen des Hashes aus.
|
Die Commit-Hashes sind sehr lang (38 Zeichen). Für die Identifizierung eines Commits reichen jedoch die ersten 7 Stellen des Hashes aus.
|
||||||
|
Hier die Ansicht des Working-Trees mit der Git-GUI `*gitg*`.
|
||||||
|
|
||||||
image::zweiterCommit.png[Working-Tree Zweiter Git Commit, width=120%]
|
[source,bash]
|
||||||
|
----
|
||||||
|
tagebuch$ gitg
|
||||||
|
----
|
||||||
|
|
||||||
== Arbeitsaufträge
|
image::git_working_tree_gitg.png[Working-Tree Zweiter Git Commit]
|
||||||
|
|
||||||
|
=== Arbeitsaufträge
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
. Fügen Sie dem Tagebuch den Eintrag `*mittagessen.txt*` als Datei hinzu, zunächst ohne diese
|
. Fügen Sie dem Tagebuch den Eintrag `*mittagessen.txt*` als Datei hinzu, zunächst ohne diese
|
||||||
zu versionieren.
|
zu versionieren
|
||||||
. Ändern Sie die Datei `*fruehstueck.txt*` und schreiben Sie zusätzlich Schokolade in die Datei.
|
. Ändern Sie die Datei `*fruehstueck.txt*` und schreiben Sie zusätzlich Schokolade in die Datei
|
||||||
. Überprüfen Sie mit `*git status*` den Zustand des Repositorys.
|
. Überprüfen Sie mit `*git status*` den Zustand des Repositorys
|
||||||
. Fügen Sie mit `*git add fruehstueck.txt*` die Datei `*fruehstueck.txt*` zum Index hinzu.
|
. Fügen Sie mit `*git add fruehstueck.txt*` die Datei `*fruehstueck.txt*` zum Index hinzu
|
||||||
. Erstellen Sie einen Commit. Vergessen Sie die Commit-Message nach der Option `*-m*` nicht.
|
. Erstellen Sie einen Commit mit `*git commit -m "..."*`
|
||||||
. Stagen Sie ebenfalls die neue Datei `*mittagessen.txt*` mit `*git add mittagessen.txt*`.
|
. Stagen Sie auch die Datei `*mittagessen.txt*` z.B. mit `*git add .*`
|
||||||
|
. Betrachten Sie mit `*git lg*` oder der Git-GUI `*gitg*` den Zustand des Repositorys
|
||||||
====
|
====
|
||||||
|
|
||||||
=== Veränderungen
|
=== Veränderungen
|
||||||
|
|
@ -295,10 +327,84 @@ nothing to commit, working tree clean
|
||||||
=== Aktueller Stand
|
=== Aktueller Stand
|
||||||
image::mittagessen.png[Mittagessen, width=120%]
|
image::mittagessen.png[Mittagessen, width=120%]
|
||||||
|
|
||||||
== Versionshistorie
|
=== Versionshistorie
|
||||||
image::aktuell.png[Versionshistorie, width=30%]
|
image::aktuell.png[Versionshistorie, width=30%]
|
||||||
|
|
||||||
== Zeitreise
|
== Globales Repo auf GitCamp
|
||||||
|
[NOTE]
|
||||||
|
====
|
||||||
|
Bisher waren alle Änderungen lokal. Nun sollen alle Versionen des main-branches auf GitCamp gespeichert werden.
|
||||||
|
Alle dazu benötigten Schritte werden im folgenden vorgeführt.
|
||||||
|
Die Wiederholung all dieser Schritte findet später in der Fortbildung erneut statt.
|
||||||
|
====
|
||||||
|
|
||||||
|
== Zusammenfassung
|
||||||
|
|
||||||
|
=== Historie
|
||||||
|
image::git_log.png[Commit-Historie]
|
||||||
|
|
||||||
|
=== Status Unstaged
|
||||||
|
image::git_status_1.png[Status1]
|
||||||
|
|
||||||
|
=== Unstaged Close-Look
|
||||||
|
image::git_status_1_close.png[Status1 Close-Up]
|
||||||
|
|
||||||
|
=== Status Staged
|
||||||
|
image::git_status_2.png[Status2]
|
||||||
|
|
||||||
|
=== Staged Close-Look
|
||||||
|
image::git_status_2_close.png[Status2 Close-Up]
|
||||||
|
|
||||||
|
== Git Cheatsheets
|
||||||
|
|
||||||
|
=== Git globale Voreinstellungen
|
||||||
|
[source,bash]
|
||||||
|
----
|
||||||
|
// Benutzername und Mailadresse definieren
|
||||||
|
$ git config --global user.name "Max Mustermann"
|
||||||
|
$ git config --global user.email max@example.org
|
||||||
|
|
||||||
|
// Credentials für 90 Minuten zwischenspeichern
|
||||||
|
$ git config --global credential.helper "cache
|
||||||
|
--timeout=5400"
|
||||||
|
|
||||||
|
// Alias 'git lg' für 'git log' mit schlichter Formatierung
|
||||||
|
$ git config --global alias.lg "log --graph --oneline
|
||||||
|
--decorate --all --color"
|
||||||
|
----
|
||||||
|
|
||||||
|
=== Git lokaler Workflow
|
||||||
|
[source,bash]
|
||||||
|
----
|
||||||
|
// Alle Veraenderungen stagen
|
||||||
|
$ git add .
|
||||||
|
|
||||||
|
// Alle Veraenderungen mit Nachricht committen
|
||||||
|
$ git commit -m "..."
|
||||||
|
|
||||||
|
// Alle Aenderungen anzeigen lassen
|
||||||
|
$ git status
|
||||||
|
|
||||||
|
// Die Historie mit Alias lg anzeigen lassen
|
||||||
|
$ git lg
|
||||||
|
----
|
||||||
|
|
||||||
|
=== GitCamp Repo erstellen
|
||||||
|
Auf GitCamp durch Klicken auf "Neues Repository" einen "Repository-Name" eintragen und durch Klicken auf "Repository Erstellen" bestätigen.
|
||||||
|
Danach kann man lokal auf der Konsole folgendes eintragen:
|
||||||
|
|
||||||
|
[source,bash]
|
||||||
|
----
|
||||||
|
$ git init
|
||||||
|
$ git checkout -b main
|
||||||
|
$ git add .
|
||||||
|
$ git commit -m "first commit"
|
||||||
|
$ git remote add origin
|
||||||
|
https://<Instanz>.gitcamp-bw.de/<Orga>/<Repo>.git
|
||||||
|
$ git push -u origin main
|
||||||
|
----
|
||||||
|
|
||||||
|
== (Optional) - Zeitreise
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
Man sollte nur dann zu einem älteren Stand der Dateien zurückkehren, wenn
|
Man sollte nur dann zu einem älteren Stand der Dateien zurückkehren, wenn
|
||||||
|
|
@ -363,15 +469,15 @@ HEAD detached at 2f40bf7
|
||||||
nothing to commit, working tree clean
|
nothing to commit, working tree clean
|
||||||
----
|
----
|
||||||
|
|
||||||
== Arbeitsaufträge
|
=== Arbeitsaufträge
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
. Emitteln Sie mit `*git log*` einen Commit-Hash (die ersten 7 Ziffern) zu dem Sie zurückkehren möchten.
|
. Emitteln Sie mit `*git log*` oder `*git lg*` einen Commit-Hash (die ersten 7 Ziffern) zu dem Sie zurückkehren möchten
|
||||||
. Kehren Sie mit `*git checkout <Commit-Hash>*` zu diesem Commit zurück.
|
. Kehren Sie mit `*git checkout <Commit-Hash>*` zu diesem Commit zurück
|
||||||
. Betrachten Sie mit `*git status*` den Zustand des Repositorys.
|
. Betrachten Sie mit `*git status*` den Zustand des Repositorys
|
||||||
. Überprüfen Sie in Ihrem Arbeitsverzeichnis die Dateien und deren Inhalte.
|
. Überprüfen Sie in Ihrem Arbeitsverzeichnis die Dateien und deren Inhalte
|
||||||
. Betrachten Sie mit `*git log*` die Versionshistorie.
|
. Betrachten Sie mit `*git log*` die Versionshistorie
|
||||||
. (`*git log --all*` zeigt alle Commits. Probieren Sie das aus.)
|
. `*git log --all*` oder `*git lg*` zeigt alle Commits. Probieren Sie das aus
|
||||||
====
|
====
|
||||||
|
|
||||||
=== Vergangenheit
|
=== Vergangenheit
|
||||||
|
|
@ -388,39 +494,9 @@ tagebuch$ gitk
|
||||||
=== gitk-Visualisierung
|
=== gitk-Visualisierung
|
||||||
image::checkout2.png[Detached Head, width=100%]
|
image::checkout2.png[Detached Head, width=100%]
|
||||||
|
|
||||||
== Weitere Aufträge
|
== (Optional) - Weitere Aufträge
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
. Bearbeiten Sie das Kapitel "4.3.4 Manipulation der Vergangenheit" im Skript.
|
. Bearbeiten Sie das Kapitel "4.3.4 Manipulation der Vergangenheit" im Skript.
|
||||||
. Bearbeiten Sie das Kapitel "4.3.2. Änderungen zwischen Commits ansehen" im Skript.
|
. Bearbeiten Sie das Kapitel "4.3.2. Änderungen zwischen Commits ansehen" im Skript.
|
||||||
====
|
====
|
||||||
|
|
||||||
== Zusammenfassung
|
|
||||||
|
|
||||||
=== Historie
|
|
||||||
image::git_log.png[Commit-Historie]
|
|
||||||
|
|
||||||
=== Status Unstaged
|
|
||||||
image::git_status_1.png[Status1]
|
|
||||||
|
|
||||||
=== Unstaged Close-Up
|
|
||||||
image::git_status_1_close.png[Status1 Close-Up]
|
|
||||||
|
|
||||||
=== Status Staged
|
|
||||||
image::git_status_2.png[Status2]
|
|
||||||
|
|
||||||
=== Staged Close-Up
|
|
||||||
image::git_status_2_close.png[Status2 Close-Up]
|
|
||||||
|
|
||||||
== Git Cheatsheet
|
|
||||||
[source,bash]
|
|
||||||
----
|
|
||||||
// Credentials für 90 Minuten zwischenspeichern
|
|
||||||
$ git config --global credential.helper
|
|
||||||
"cache --timeout=5400"
|
|
||||||
|
|
||||||
// Alias 'git lg' für 'git log' mit schlichter Formatierung
|
|
||||||
$ git config --global alias.lg "log --graph --pretty=format:
|
|
||||||
'%Cred%h%Creset-%C(yellow)%d%Creset %s %Cgreen(%cr) %Creset'
|
|
||||||
--abbrev-commit"
|
|
||||||
----
|
|
||||||
|
|
@ -533,18 +533,17 @@ insgesamt 44
|
||||||
-rw-rw-r-- 1 xxx 21 Feb 12 08:25 HEAD
|
-rw-rw-r-- 1 xxx 21 Feb 12 08:25 HEAD
|
||||||
drwxrwxr-x 2 xxx 4096 Feb 12 08:25 hooks
|
drwxrwxr-x 2 xxx 4096 Feb 12 08:25 hooks
|
||||||
-rw-rw-r-- 1 xxx 406 Feb 12 08:39 index
|
-rw-rw-r-- 1 xxx 406 Feb 12 08:39 index
|
||||||
...</code></pre></div></div></div></section></section>
|
...</code></pre></div></div></div></section><section id="_repository_status_anzeigen_lassen"><h2>Repository Status anzeigen lassen</h2><div class="slide-content"><div class="paragraph"><p>Das Verzeichnis tagebuch ist jetzt ein "git-Repository" - es wird von git "beobachtet". Mit dem Befehl <code><strong>git status</strong></code> kann der aktuelle Status des "Repos" angezeigt werden.</p></div>
|
||||||
<section id="_repository_status_anzeigen_lassen"><h2>Repository Status anzeigen lassen</h2><div class="slide-content"><div class="paragraph"><p>Das Verzeichnis tagebuch ist jetzt ein "git-Repository" - es wird von git "beobachtet". Mit dem Befehl <code><strong>git status</strong></code> kann der aktuelle Status des "Repos" angezeigt werden.</p></div>
|
|
||||||
<div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git status
|
<div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git status
|
||||||
|
|
||||||
On branch main
|
On branch main
|
||||||
No commits yet
|
No commits yet
|
||||||
Nothing to commit
|
Nothing to commit
|
||||||
(create/copy files and use "git add" to track)</code></pre></div></div></div></section>
|
(create/copy files and use "git add" to track)</code></pre></div></div></div></section></section>
|
||||||
<section><section id="_der_git_workflow"><h2>Der Git-Workflow</h2><div class="slide-content"><div class="paragraph"><p>Um den git-Workflow zu verstehen, müssen drei Begriffe unterschieden werden: Das
|
<section><section id="_der_git_workflow"><h2>Der Git-Workflow</h2><div class="slide-content"><div class="paragraph"><p>Um den git-Workflow zu verstehen, müssen drei Begriffe unterschieden werden: Das
|
||||||
<strong>Arbeitsverzeichnis</strong> ("Working Directory"), die <strong>Staging Area</strong> ("Index") und das eigentliche
|
<strong>Arbeitsverzeichnis</strong> ("Working Directory"), die <strong>Staging Area</strong> ("Index") und das eigentliche
|
||||||
<strong>Repository</strong> ("Snapshot").</p></div></div></section><section id="_der_git_workflow_2"><h2>Der Git-Workflow</h2><div class="slide-content"><div class="imageblock"><img src="images/git_stage_commit_1.png" alt="Git-Workflow 1"></div></div></section></section>
|
<strong>Repository</strong> ("Snapshot").</p></div></div></section><section id="_der_git_workflow_2"><h2>Der Git-Workflow</h2><div class="slide-content"><div class="imageblock"><img src="images/git_stage_commit_1.png" alt="Git-Workflow 1"></div></div></section><section id="_zuerst_stagen"><h2>Zuerst Stagen …​</h2><div class="slide-content"><div class="paragraph"><p>Eine Datei wird dem Working Directory hinzugefügt.</p></div>
|
||||||
<section><section id="_zuerst_stagen"><h2>Zuerst Stagen …​</h2><div class="slide-content"><div class="paragraph"><p>Eine Datei wird dem Working Directory hinzugefügt.</p></div><div class="imageblock"><img src="images/aufstehen.png" alt="Datei Aufstehen hinzu"></div></div></section><section id="_zuerst_stagen_2"><h2>Zuerst Stagen …​</h2><div class="slide-content"><div class="paragraph"><p><code><strong>git status</strong></code> zeigt "Untracked Files".</p></div>
|
<div class="imageblock"><img src="images/aufstehen.png" alt="Datei Aufstehen hinzu"></div></div></section><section id="_zuerst_stagen_2"><h2>Zuerst Stagen …​</h2><div class="slide-content"><div class="paragraph"><p><code><strong>git status</strong></code> zeigt "Untracked Files".</p></div>
|
||||||
<div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git status
|
<div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git status
|
||||||
|
|
||||||
On branch main
|
On branch main
|
||||||
|
|
@ -558,8 +557,7 @@ On branch main
|
||||||
No commits yet
|
No commits yet
|
||||||
Changes to be committed:
|
Changes to be committed:
|
||||||
(use "git rm --cached <file>..." to unstage)
|
(use "git rm --cached <file>..." to unstage)
|
||||||
new file: aufstehen.txt</code></pre></div></div></div></section><section id="_zuerst_stagen_4"><h2>Zuerst Stagen …​</h2><div class="slide-content"><div class="imageblock"><img src="images/git_add.png" alt="Git Add" width="120%"></div></div></section></section>
|
new file: aufstehen.txt</code></pre></div></div></div></section><section id="_zuerst_stagen_4"><h2>Zuerst Stagen …​</h2><div class="slide-content"><div class="imageblock"><img src="images/git_add.png" alt="Git Add" width="120%"></div></div></section><section id="_dann_commiten"><h2>…​ dann Commiten</h2><div class="slide-content"><div class="paragraph"><p>Wenn man mit den im Index vorgemerkten Änderungen zufrieden ist, kann mit <code><strong>git commit</strong></code> ein "Commit"
|
||||||
<section><section id="_dann_commiten"><h2>…​ dann Commiten</h2><div class="slide-content"><div class="paragraph"><p>Wenn man mit den im Index vorgemerkten Änderungen zufrieden ist, kann mit <code><strong>git commit</strong></code> ein "Commit"
|
|
||||||
durchgeführt werden. Dadurch wird ein Snapshot mit einer eindeutigen ID erstellt und die Staging Area geleert.
|
durchgeführt werden. Dadurch wird ein Snapshot mit einer eindeutigen ID erstellt und die Staging Area geleert.
|
||||||
Jeder Snapshot lässt sich zu jedem Zeitpunkt wieder herstellen.</p></div></div></section><section id="_dann_commiten_2"><h2>…​ dann Commiten</h2><div class="slide-content"><div class="paragraph"><p>Mit dem Befehl <code><strong>git commit -m "Erster Commit: aufstehen.txt"</strong></code> wird ein Commit mit einer
|
Jeder Snapshot lässt sich zu jedem Zeitpunkt wieder herstellen.</p></div></div></section><section id="_dann_commiten_2"><h2>…​ dann Commiten</h2><div class="slide-content"><div class="paragraph"><p>Mit dem Befehl <code><strong>git commit -m "Erster Commit: aufstehen.txt"</strong></code> wird ein Commit mit einer
|
||||||
Commit-Message angelegt (Parameter <code><strong>-m</strong></code>).</p></div>
|
Commit-Message angelegt (Parameter <code><strong>-m</strong></code>).</p></div>
|
||||||
|
|
@ -572,12 +570,10 @@ Commit-Message angelegt (Parameter <code><strong>-m</strong></code>).</p></div>
|
||||||
|
|
||||||
On branch main
|
On branch main
|
||||||
nothing to commit, working tree clean</code></pre></div></div>
|
nothing to commit, working tree clean</code></pre></div></div>
|
||||||
<div class="imageblock"><img src="images/ersterCommit.png" alt="Working-Tree" width="90%"></div></div></section></section>
|
<div class="imageblock"><img src="images/ersterCommit.png" alt="Working-Tree" width="90%"></div></div></section><section id="_git_workflow_übersicht"><h2>Git-Workflow - Übersicht</h2><div class="slide-content"><div class="imageblock"><img src="images/git_stage_commit_2.png" alt="Git-Workflow 2" width="50%"></div></div></section><section id="_arbeitsaufträge"><h2>Arbeitsaufträge</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="olist arabic"><ol class="arabic"><li><p>Halten Sie in der Datei <code><strong>fruehstueck.txt</strong></code> fest, was es zum Frühstück gab</p></li><li><p>Kontrollieren Sie mit <code><strong>git status</strong></code>, dass die Datei jetzt existiert, sie jedoch noch nicht unter
|
||||||
<section id="_git_workflow_übersicht"><h2>Git-Workflow - Übersicht</h2><div class="slide-content"><div class="imageblock"><img src="images/git_stage_commit_2.png" alt="Git-Workflow 2" width="50%"></div></div></section>
|
Versionskontrolle steht</p></li><li><p>Fügen Sie die Datei <code><strong>fruehstueck.txt</strong></code> mit dem Befehl <code><strong>git add</strong></code> <code><strong>fruehstueck.txt</strong></code> zum Index
|
||||||
<section><section id="_arbeitsaufträge"><h2>Arbeitsaufträge</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="olist arabic"><ol class="arabic"><li><p>Halten Sie in der Datei <code><strong>fruehstueck.txt</strong></code> fest, was es zum Frühstück gab.</p></li><li><p>Kontrollieren Sie mit <code><strong>git status</strong></code>, dass die Datei jetzt existiert, sie jedoch noch nicht unter
|
hinzu</p></li><li><p>Erstellen Sie einen Commit für das Frühstück. Vergessen Sie die Commit-Message nach der
|
||||||
Versionskontrolle steht.</p></li><li><p>Fügen Sie die Datei <code><strong>fruehstueck.txt</strong></code> mit dem Befehl <code><strong>git add</strong></code> <code><strong>fruehstueck.txt</strong></code> zum Index
|
<code><strong>Option -m</strong></code> nicht</p></li><li><p>Überprüfen Sie mit <code><strong>git status</strong></code> den Zustand des Repositorys erneut</p></li></ol></div></td></tr></table></div></div></section><section id="_aktueller_stand"><h2>Aktueller Stand</h2><div class="slide-content"><div class="imageblock"><img src="images/zweitercommit2.png" alt="Zweiter Git Commit" width="120%"></div></div></section></section>
|
||||||
hinzu.</p></li><li><p>Erstellen Sie einen Commit für das Frühstück. Vergessen Sie die Commit-Message nach der
|
|
||||||
<code><strong>Option -m</strong></code> nicht.</p></li><li><p>Überprüfen Sie mit <code><strong>git status</strong></code> den Zustand des Repositorys erneut.</p></li></ol></div></td></tr></table></div></div></section><section id="_aktueller_stand"><h2>Aktueller Stand</h2><div class="slide-content"><div class="imageblock"><img src="images/zweitercommit2.png" alt="Zweiter Git Commit" width="120%"></div></div></section></section>
|
|
||||||
<section><section id="_übersicht_über_commits"><h2>Übersicht über Commits</h2><div class="slide-content"><div class="paragraph"><p>Ein Commit kann also wie im Bild dargestellt als Archivbox betrachtet werden, in dem jeweils
|
<section><section id="_übersicht_über_commits"><h2>Übersicht über Commits</h2><div class="slide-content"><div class="paragraph"><p>Ein Commit kann also wie im Bild dargestellt als Archivbox betrachtet werden, in dem jeweils
|
||||||
der Zustand aller versionierten Dateien festgehalten ist. Ein Commit wird durch einen
|
der Zustand aller versionierten Dateien festgehalten ist. Ein Commit wird durch einen
|
||||||
hexadezimalen "Hashwert" identifiziert, das ist gewissermaßen die eindeutige Nummer eines
|
hexadezimalen "Hashwert" identifiziert, das ist gewissermaßen die eindeutige Nummer eines
|
||||||
|
|
@ -592,10 +588,22 @@ Frühstück in Datei 'fruehstueck.txt' hinzugefügt
|
||||||
commit 9eefa5687ebae993ce7ca0f597159418f1d7cd
|
commit 9eefa5687ebae993ce7ca0f597159418f1d7cd
|
||||||
Author: Max Mustermann <max.mustermann@zsl-rska.de>
|
Author: Max Mustermann <max.mustermann@zsl-rska.de>
|
||||||
Date: Wed Oct 9 14:31:24 2024 +0200
|
Date: Wed Oct 9 14:31:24 2024 +0200
|
||||||
Erster Commit: 'aufstehen.txt' angelegt</code></pre></div></div></div></section><section id="_aktueller_working_tree"><h2>Aktueller Working Tree</h2><div class="slide-content"><div class="paragraph"><p>Man sieht, dass die Commit-Hashes sehr lange sind. Für die Identifizierung eines Commits reichen jedoch die ersten 7 Stellen des Hashes aus.</p></div>
|
Erster Commit: 'aufstehen.txt' angelegt</code></pre></div></div></div></section><section id="_git_log_mit_schöner_ausgabe"><h2>Git log mit schöner Ausgabe</h2><div class="slide-content"><div class="paragraph"><p>Mit <code><strong>git log --graph --oneline --decorate --all --color</strong></code> kann man alle Commits sehr übersichtlich (am Working Tree) ausgeben.</p></div>
|
||||||
<div class="imageblock"><img src="images/zweiterCommit.png" alt="Working-Tree Zweiter Git Commit" width="120%"></div></div></section></section>
|
<div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git log --graph --oneline --decorate --all --color
|
||||||
<section><section id="_arbeitsaufträge_2"><h2>Arbeitsaufträge</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="olist arabic"><ol class="arabic"><li><p>Fügen Sie dem Tagebuch den Eintrag <code><strong>mittagessen.txt</strong></code> als Datei hinzu, zunächst ohne diese
|
|
||||||
zu versionieren.</p></li><li><p>Ändern Sie die Datei <code><strong>fruehstueck.txt</strong></code> und schreiben Sie zusätzlich Schokolade in die Datei.</p></li><li><p>Überprüfen Sie mit <code><strong>git status</strong></code> den Zustand des Repositorys.</p></li><li><p>Fügen Sie mit <code><strong>git add fruehstueck.txt</strong></code> die Datei <code><strong>fruehstueck.txt</strong></code> zum Index hinzu.</p></li><li><p>Erstellen Sie einen Commit. Vergessen Sie die Commit-Message nach der Option <code><strong>-m</strong></code> nicht.</p></li><li><p>Stagen Sie ebenfalls die neue Datei <code><strong>mittagessen.txt</strong></code> mit <code><strong>git add mittagessen.txt</strong></code>.</p></li></ol></div></td></tr></table></div></div></section><section id="_veränderungen"><h2>Veränderungen</h2><div class="slide-content"><div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git status
|
* 1393d67 (HEAD -> main) fruehstuecken.txt hinzu
|
||||||
|
* 87a64ff aufstehen.txt hinzu</code></pre></div></div></div></section><section id="_git_log_mit_alias"><h2>Git log mit Alias</h2><div class="slide-content"><div class="paragraph"><p>Da der Befehl <code><strong>git log --graph --oneline --decorate --all --color</strong></code> sehr lang ist, kann man einen Alias z.B. mit dem Namen "lg" definieren.</p></div>
|
||||||
|
<div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git config --global alias.lg "log --graph
|
||||||
|
--oneline --decorate --all --color"
|
||||||
|
|
||||||
|
tagebuch$ git lg
|
||||||
|
|
||||||
|
* 1393d67 (HEAD -> main) fruehstuecken.txt hinzu
|
||||||
|
* 87a64ff aufstehen.txt hinzu</code></pre></div></div></div></section><section id="_aktueller_working_tree"><h2>Aktueller Working Tree</h2><div class="slide-content"><div class="paragraph"><p>Die Commit-Hashes sind sehr lang (38 Zeichen). Für die Identifizierung eines Commits reichen jedoch die ersten 7 Stellen des Hashes aus.
|
||||||
|
Hier die Ansicht des Working-Trees mit der Git-GUI <code><strong>gitg</strong></code>.</p></div>
|
||||||
|
<div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ gitg</code></pre></div></div>
|
||||||
|
<div class="imageblock"><img src="images/git_working_tree_gitg.png" alt="Working-Tree Zweiter Git Commit"></div></div></section><section id="_arbeitsaufträge_2"><h2>Arbeitsaufträge</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="olist arabic"><ol class="arabic"><li><p>Fügen Sie dem Tagebuch den Eintrag <code><strong>mittagessen.txt</strong></code> als Datei hinzu, zunächst ohne diese
|
||||||
|
zu versionieren</p></li><li><p>Ändern Sie die Datei <code><strong>fruehstueck.txt</strong></code> und schreiben Sie zusätzlich Schokolade in die Datei</p></li><li><p>Überprüfen Sie mit <code><strong>git status</strong></code> den Zustand des Repositorys</p></li><li><p>Fügen Sie mit <code><strong>git add fruehstueck.txt</strong></code> die Datei <code><strong>fruehstueck.txt</strong></code> zum Index hinzu</p></li><li><p>Erstellen Sie einen Commit mit <code><strong>git commit -m "…​"</strong></code></p></li><li><p>Stagen Sie auch die Datei <code><strong>mittagessen.txt</strong></code> z.B. mit <code><strong>git add .</strong></code></p></li><li><p>Betrachten Sie mit <code><strong>git lg</strong></code> oder der Git-GUI <code><strong>gitg</strong></code> den Zustand des Repositorys</p></li></ol></div></td></tr></table></div></div></section><section id="_veränderungen"><h2>Veränderungen</h2><div class="slide-content"><div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git status
|
||||||
|
|
||||||
On branch main
|
On branch main
|
||||||
Changes not staged for commit:
|
Changes not staged for commit:
|
||||||
|
|
@ -643,9 +651,41 @@ create mode 100644 mittagessen.txt
|
||||||
$ git status
|
$ git status
|
||||||
|
|
||||||
On branch main
|
On branch main
|
||||||
nothing to commit, working tree clean</code></pre></div></div></div></section><section id="_aktueller_stand_2"><h2>Aktueller Stand</h2><div class="slide-content"><div class="imageblock"><img src="images/mittagessen.png" alt="Mittagessen" width="120%"></div></div></section></section>
|
nothing to commit, working tree clean</code></pre></div></div></div></section><section id="_aktueller_stand_2"><h2>Aktueller Stand</h2><div class="slide-content"><div class="imageblock"><img src="images/mittagessen.png" alt="Mittagessen" width="120%"></div></div></section><section id="_versionshistorie"><h2>Versionshistorie</h2><div class="slide-content"><div class="imageblock"><img src="images/aktuell.png" alt="Versionshistorie" width="30%"></div></div></section></section>
|
||||||
<section id="_versionshistorie"><h2>Versionshistorie</h2><div class="slide-content"><div class="imageblock"><img src="images/aktuell.png" alt="Versionshistorie" width="30%"></div></div></section>
|
<section id="_globales_repo_auf_gitcamp"><h2>Globales Repo auf GitCamp</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="paragraph"><p>Bisher waren alle Änderungen lokal. Nun sollen alle Versionen des main-branches auf GitCamp gespeichert werden.
|
||||||
<section><section id="_zeitreise"><h2>Zeitreise</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="paragraph"><p>Man sollte nur dann zu einem älteren Stand der Dateien zurückkehren, wenn
|
Alle dazu benötigten Schritte werden im folgenden vorgeführt.
|
||||||
|
Die Wiederholung all dieser Schritte findet später in der Fortbildung erneut statt.</p></div></td></tr></table></div></div></section>
|
||||||
|
<section><section id="_zusammenfassung"><h2>Zusammenfassung</h2></section><section id="_historie"><h2>Historie</h2><div class="slide-content"><div class="imageblock"><img src="images/git_log.png" alt="Commit-Historie"></div></div></section><section id="_status_unstaged"><h2>Status Unstaged</h2><div class="slide-content"><div class="imageblock"><img src="images/git_status_1.png" alt="Status1"></div></div></section><section id="_unstaged_close_look"><h2>Unstaged Close-Look</h2><div class="slide-content"><div class="imageblock"><img src="images/git_status_1_close.png" alt="Status1 Close-Up"></div></div></section><section id="_status_staged"><h2>Status Staged</h2><div class="slide-content"><div class="imageblock"><img src="images/git_status_2.png" alt="Status2"></div></div></section><section id="_staged_close_look"><h2>Staged Close-Look</h2><div class="slide-content"><div class="imageblock"><img src="images/git_status_2_close.png" alt="Status2 Close-Up"></div></div></section></section>
|
||||||
|
<section><section id="_git_cheatsheets"><h2>Git Cheatsheets</h2></section><section id="_git_globale_voreinstellungen"><h2>Git globale Voreinstellungen</h2><div class="slide-content"><div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">// Benutzername und Mailadresse definieren
|
||||||
|
$ git config --global user.name "Max Mustermann"
|
||||||
|
$ git config --global user.email max@example.org
|
||||||
|
|
||||||
|
// Credentials für 90 Minuten zwischenspeichern
|
||||||
|
$ git config --global credential.helper "cache
|
||||||
|
--timeout=5400"
|
||||||
|
|
||||||
|
// Alias 'git lg' für 'git log' mit schlichter Formatierung
|
||||||
|
$ git config --global alias.lg "log --graph --oneline
|
||||||
|
--decorate --all --color"</code></pre></div></div></div></section><section id="_git_lokaler_workflow"><h2>Git lokaler Workflow</h2><div class="slide-content"><div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">// Alle Veraenderungen stagen
|
||||||
|
$ git add .
|
||||||
|
|
||||||
|
// Alle Veraenderungen mit Nachricht committen
|
||||||
|
$ git commit -m "..."
|
||||||
|
|
||||||
|
// Alle Aenderungen anzeigen lassen
|
||||||
|
$ git status
|
||||||
|
|
||||||
|
// Die Historie mit Alias lg anzeigen lassen
|
||||||
|
$ git lg</code></pre></div></div></div></section><section id="_gitcamp_repo_erstellen"><h2>GitCamp Repo erstellen</h2><div class="slide-content"><div class="paragraph"><p>Auf GitCamp durch Klicken auf "Neues Repository" einen "Repository-Name" eintragen und durch Klicken auf "Repository Erstellen" bestätigen.
|
||||||
|
Danach kann man lokal auf der Konsole folgendes eintragen:</p></div>
|
||||||
|
<div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">$ git init
|
||||||
|
$ git checkout -b main
|
||||||
|
$ git add .
|
||||||
|
$ git commit -m "first commit"
|
||||||
|
$ git remote add origin
|
||||||
|
https://<Instanz>.gitcamp-bw.de/<Orga>/<Repo>.git
|
||||||
|
$ git push -u origin main</code></pre></div></div></div></section></section>
|
||||||
|
<section><section id="_optional_zeitreise"><h2>(Optional) - Zeitreise</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="paragraph"><p>Man sollte nur dann zu einem älteren Stand der Dateien zurückkehren, wenn
|
||||||
das Arbeitsverzeichnis keine nicht committeten Änderungen beinhaltet.
|
das Arbeitsverzeichnis keine nicht committeten Änderungen beinhaltet.
|
||||||
("Sauberes Arbeitsverzeichnis")</p></div></td></tr></table></div><div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git status
|
("Sauberes Arbeitsverzeichnis")</p></div></td></tr></table></div><div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git status
|
||||||
|
|
||||||
|
|
@ -676,19 +716,9 @@ Or undo this operation with: git switch -
|
||||||
HEAD is now at 2f40bf7 Frühstück in Datei 'fruehstueck.txt' hinzugefügt</code></pre></div></div></div></section><section id="_neuer_status"><h2>Neuer Status</h2><div class="slide-content"><div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git status
|
HEAD is now at 2f40bf7 Frühstück in Datei 'fruehstueck.txt' hinzugefügt</code></pre></div></div></div></section><section id="_neuer_status"><h2>Neuer Status</h2><div class="slide-content"><div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ git status
|
||||||
|
|
||||||
HEAD detached at 2f40bf7
|
HEAD detached at 2f40bf7
|
||||||
nothing to commit, working tree clean</code></pre></div></div></div></section></section>
|
nothing to commit, working tree clean</code></pre></div></div></div></section><section id="_arbeitsaufträge_3"><h2>Arbeitsaufträge</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="olist arabic"><ol class="arabic"><li><p>Emitteln Sie mit <code><strong>git log</strong></code> oder <code><strong>git lg</strong></code> einen Commit-Hash (die ersten 7 Ziffern) zu dem Sie zurückkehren möchten</p></li><li><p>Kehren Sie mit <code><strong>git checkout <Commit-Hash></strong></code> zu diesem Commit zurück</p></li><li><p>Betrachten Sie mit <code><strong>git status</strong></code> den Zustand des Repositorys</p></li><li><p>Überprüfen Sie in Ihrem Arbeitsverzeichnis die Dateien und deren Inhalte</p></li><li><p>Betrachten Sie mit <code><strong>git log</strong></code> die Versionshistorie</p></li><li><p><code><strong>git log --all</strong></code> oder <code><strong>git lg</strong></code> zeigt alle Commits. Probieren Sie das aus</p></li></ol></div></td></tr></table></div></div></section><section id="_vergangenheit"><h2>Vergangenheit</h2><div class="slide-content"><div class="imageblock"><img src="images/vergangenheit.png" alt="Vergangenheit" width="30%"></div></div></section><section id="_der_working_tree"><h2>Der Working-Tree</h2><div class="slide-content"><div class="paragraph"><p>Neben dem HEAD gibt es nun einen weiteren Zeiger <code><strong>main</strong></code>, der auf den aktuellen Stand der Arbeit zeigt. Visualisieren Sie diesen sogenannten <code><strong>Detached Head</strong></code> mit <code><strong>gitk</strong></code>.</p></div>
|
||||||
<section><section id="_arbeitsaufträge_3"><h2>Arbeitsaufträge</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="olist arabic"><ol class="arabic"><li><p>Emitteln Sie mit <code><strong>git log</strong></code> einen Commit-Hash (die ersten 7 Ziffern) zu dem Sie zurückkehren möchten.</p></li><li><p>Kehren Sie mit <code><strong>git checkout <Commit-Hash></strong></code> zu diesem Commit zurück.</p></li><li><p>Betrachten Sie mit <code><strong>git status</strong></code> den Zustand des Repositorys.</p></li><li><p>Überprüfen Sie in Ihrem Arbeitsverzeichnis die Dateien und deren Inhalte.</p></li><li><p>Betrachten Sie mit <code><strong>git log</strong></code> die Versionshistorie.</p></li><li><p>(<code><strong>git log --all</strong></code> zeigt alle Commits. Probieren Sie das aus.)</p></li></ol></div></td></tr></table></div></div></section><section id="_vergangenheit"><h2>Vergangenheit</h2><div class="slide-content"><div class="imageblock"><img src="images/vergangenheit.png" alt="Vergangenheit" width="30%"></div></div></section><section id="_der_working_tree"><h2>Der Working-Tree</h2><div class="slide-content"><div class="paragraph"><p>Neben dem HEAD gibt es nun einen weiteren Zeiger <code><strong>main</strong></code>, der auf den aktuellen Stand der Arbeit zeigt. Visualisieren Sie diesen sogenannten <code><strong>Detached Head</strong></code> mit <code><strong>gitk</strong></code>.</p></div>
|
|
||||||
<div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ gitk</code></pre></div></div></div></section><section id="_gitk_visualisierung"><h2>gitk-Visualisierung</h2><div class="slide-content"><div class="imageblock"><img src="images/checkout2.png" alt="Detached Head" width="100%"></div></div></section></section>
|
<div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">tagebuch$ gitk</code></pre></div></div></div></section><section id="_gitk_visualisierung"><h2>gitk-Visualisierung</h2><div class="slide-content"><div class="imageblock"><img src="images/checkout2.png" alt="Detached Head" width="100%"></div></div></section></section>
|
||||||
<section id="_weitere_aufträge"><h2>Weitere Aufträge</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="olist arabic"><ol class="arabic"><li><p>Bearbeiten Sie das Kapitel "4.3.4 Manipulation der Vergangenheit" im Skript.</p></li><li><p>Bearbeiten Sie das Kapitel "4.3.2. Änderungen zwischen Commits ansehen" im Skript.</p></li></ol></div></td></tr></table></div></div></section>
|
<section id="_optional_weitere_aufträge"><h2>(Optional) - Weitere Aufträge</h2><div class="slide-content"><div class="admonitionblock note"><table><tr><td class="icon"><i class="fa fa-info-circle" title="Note"></i></td><td class="content"><div class="olist arabic"><ol class="arabic"><li><p>Bearbeiten Sie das Kapitel "4.3.4 Manipulation der Vergangenheit" im Skript.</p></li><li><p>Bearbeiten Sie das Kapitel "4.3.2. Änderungen zwischen Commits ansehen" im Skript.</p></li></ol></div></td></tr></table></div></div></section><div class="custom-footer">
|
||||||
<section><section id="_zusammenfassung"><h2>Zusammenfassung</h2></section><section id="_historie"><h2>Historie</h2><div class="slide-content"><div class="imageblock"><img src="images/git_log.png" alt="Commit-Historie"></div></div></section><section id="_status_unstaged"><h2>Status Unstaged</h2><div class="slide-content"><div class="imageblock"><img src="images/git_status_1.png" alt="Status1"></div></div></section><section id="_unstaged_close_up"><h2>Unstaged Close-Up</h2><div class="slide-content"><div class="imageblock"><img src="images/git_status_1_close.png" alt="Status1 Close-Up"></div></div></section><section id="_status_staged"><h2>Status Staged</h2><div class="slide-content"><div class="imageblock"><img src="images/git_status_2.png" alt="Status2"></div></div></section><section id="_staged_close_up"><h2>Staged Close-Up</h2><div class="slide-content"><div class="imageblock"><img src="images/git_status_2_close.png" alt="Status2 Close-Up"></div></div></section></section>
|
|
||||||
<section id="_git_cheatsheet"><h2>Git Cheatsheet</h2><div class="slide-content"><div class="listingblock"><div class="content"><pre class="highlightjs highlight"><code class="language-bash hljs" data-noescape="true" data-lang="bash">// Credentials für 90 Minuten zwischenspeichern
|
|
||||||
$ git config --global credential.helper
|
|
||||||
"cache --timeout=5400"
|
|
||||||
|
|
||||||
// Alias 'git lg' für 'git log' mit schlichter Formatierung
|
|
||||||
$ git config --global alias.lg "log --graph --pretty=format:
|
|
||||||
'%Cred%h%Creset-%C(yellow)%d%Creset %s %Cgreen(%cr) %Creset'
|
|
||||||
--abbrev-commit"</code></pre></div></div></div></section><div class="custom-footer">
|
|
||||||
<span class="left">CC-BY-SA-NC</span>
|
<span class="left">CC-BY-SA-NC</span>
|
||||||
<span class="center">Dirk Zechnall</span>
|
<span class="center">Dirk Zechnall</span>
|
||||||
<span class="right" id="date"></span>
|
<span class="right" id="date"></span>
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,48 @@
|
||||||
|
== Git Cheatsheets
|
||||||
|
|
||||||
|
=== Git globale Voreinstellungen
|
||||||
|
[source,bash]
|
||||||
|
----
|
||||||
|
// Benutzername und Mailadresse definieren
|
||||||
|
$ git config --global user.name "Max Mustermann"
|
||||||
|
$ git config --global user.email max@example.org
|
||||||
|
|
||||||
|
// Credentials für 90 Minuten zwischenspeichern
|
||||||
|
$ git config --global credential.helper "cache
|
||||||
|
--timeout=5400"
|
||||||
|
|
||||||
|
// Alias 'git lg' für 'git log' mit schlichter Formatierung
|
||||||
|
$ git config --global alias.lg "log --graph --oneline
|
||||||
|
--decorate --all --color"
|
||||||
|
----
|
||||||
|
|
||||||
|
=== Git lokaler Workflow
|
||||||
|
[source,bash]
|
||||||
|
----
|
||||||
|
// Alle Veraenderungen stagen
|
||||||
|
$ git add .
|
||||||
|
|
||||||
|
// Alle Veraenderungen mit Nachricht committen
|
||||||
|
$ git commit -m "..."
|
||||||
|
|
||||||
|
// Alle Aenderungen anzeigen lassen
|
||||||
|
$ git status
|
||||||
|
|
||||||
|
// Die Historie mit Alias lg anzeigen lassen
|
||||||
|
$ git lg
|
||||||
|
----
|
||||||
|
|
||||||
|
=== GitCamp Repo erstellen
|
||||||
|
Auf GitCamp durch Klicken auf "Neues Repository" einen "Repository-Name" eintragen und durch Klicken auf "Repository Erstellen" bestätigen.
|
||||||
|
Danach kann man lokal auf der Konsole folgendes eintragen:
|
||||||
|
|
||||||
|
[source,bash]
|
||||||
|
----
|
||||||
|
$ git init
|
||||||
|
$ git checkout -b main
|
||||||
|
$ git add .
|
||||||
|
$ git commit -m "first commit"
|
||||||
|
$ git remote add origin
|
||||||
|
https://<Instanz>.gitcamp-bw.de/<Orga>/<Repo>.git
|
||||||
|
$ git push -u origin main
|
||||||
|
----
|
||||||
|
|
@ -0,0 +1,903 @@
|
||||||
|
%PDF-1.4
|
||||||
|
%ÿÿÿÿ
|
||||||
|
1 0 obj
|
||||||
|
<< /Title (Untitled)
|
||||||
|
/Creator <feff>
|
||||||
|
/Producer (Asciidoctor PDF 2.3.19, based on Prawn 2.4.0)
|
||||||
|
/ModDate (D:20250325122745+01'00')
|
||||||
|
/CreationDate (D:20250325122745+01'00')
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<< /Type /Catalog
|
||||||
|
/Pages 3 0 R
|
||||||
|
/Names 9 0 R
|
||||||
|
/Outlines 17 0 R
|
||||||
|
/PageLabels 23 0 R
|
||||||
|
/PageMode /UseOutlines
|
||||||
|
/OpenAction [7 0 R /FitH 841.89]
|
||||||
|
/ViewerPreferences << /DisplayDocTitle true
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<< /Type /Pages
|
||||||
|
/Count 1
|
||||||
|
/Kids [7 0 R]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<< /Length 2
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
q
|
||||||
|
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<< /Type /Page
|
||||||
|
/Parent 3 0 R
|
||||||
|
/MediaBox [0 0 595.28 841.89]
|
||||||
|
/CropBox [0 0 595.28 841.89]
|
||||||
|
/BleedBox [0 0 595.28 841.89]
|
||||||
|
/TrimBox [0 0 595.28 841.89]
|
||||||
|
/ArtBox [0 0 595.28 841.89]
|
||||||
|
/Contents 4 0 R
|
||||||
|
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<< /Length 7725
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
q
|
||||||
|
/DeviceRGB cs
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
/DeviceRGB CS
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
48.24 782.394 Td
|
||||||
|
/F2.0 22 Tf
|
||||||
|
<476974204368656174736865657473> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
48.24 741.146 Td
|
||||||
|
/F2.0 18 Tf
|
||||||
|
[<47697420676c6f62616c652056> 60.05859 <6f7265696e7374656c6c756e67656e>] TJ
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
q
|
||||||
|
0.96078 0.96078 0.96078 scn
|
||||||
|
52.24 725.09 m
|
||||||
|
543.04 725.09 l
|
||||||
|
545.24914 725.09 547.04 723.29914 547.04 721.09 c
|
||||||
|
547.04 544.95 l
|
||||||
|
547.04 542.74086 545.24914 540.95 543.04 540.95 c
|
||||||
|
52.24 540.95 l
|
||||||
|
50.03086 540.95 48.24 542.74086 48.24 544.95 c
|
||||||
|
48.24 721.09 l
|
||||||
|
48.24 723.29914 50.03086 725.09 52.24 725.09 c
|
||||||
|
h
|
||||||
|
f
|
||||||
|
0.8 0.8 0.8 SCN
|
||||||
|
0.75 w
|
||||||
|
52.24 725.09 m
|
||||||
|
543.04 725.09 l
|
||||||
|
545.24914 725.09 547.04 723.29914 547.04 721.09 c
|
||||||
|
547.04 544.95 l
|
||||||
|
547.04 542.74086 545.24914 540.95 543.04 540.95 c
|
||||||
|
52.24 540.95 l
|
||||||
|
50.03086 540.95 48.24 542.74086 48.24 544.95 c
|
||||||
|
48.24 721.09 l
|
||||||
|
48.24 723.29914 50.03086 725.09 52.24 725.09 c
|
||||||
|
h
|
||||||
|
S
|
||||||
|
Q
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 702.265 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<2f2f2042656e75747a65726e616d6520756e64204d61696c6164726573736520646566696e696572656e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 687.525 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420636f6e666967202d2d676c6f62616c20757365722e6e616d6520224d6178204d75737465726d616e6e22> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 672.785 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420636f6e666967202d2d676c6f62616c20757365722e656d61696c206d6178406578616d706c652e6f7267> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 643.305 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<2f2f2043726564656e7469616c7320669f72203930204d696e7574656e207a7769736368656e73706569636865726e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 628.565 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420636f6e666967202d2d676c6f62616c2063726564656e7469616c2e68656c70657220226361636865> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 613.825 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<ca2020202020202020202020202020202020202020202020202020202020202020202020202020202d2d74696d656f75743d3534303022> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 584.345 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<2f2f20416c6961732027676974206c672720669f722027676974206c6f6727206d6974207363686c69636874657220466f726d6174696572756e67> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 569.605 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420636f6e666967202d2d676c6f62616c20616c6961732e6c6720226c6f67202d2d6772617068202d2d6f6e656c696e65> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 554.865 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<ca202020202020202020202020202020202020202020202020202020202020202d2d6465636f72617465202d2d616c6c202d2d636f6c6f7222> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
48.24 504.926 Td
|
||||||
|
/F2.0 18 Tf
|
||||||
|
[<476974206c6f6b616c65722057> 60.05859 <6f726b666c6f77>] TJ
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
q
|
||||||
|
0.96078 0.96078 0.96078 scn
|
||||||
|
52.24 488.87 m
|
||||||
|
543.04 488.87 l
|
||||||
|
545.24914 488.87 547.04 487.07914 547.04 484.87 c
|
||||||
|
547.04 308.73 l
|
||||||
|
547.04 306.52086 545.24914 304.73 543.04 304.73 c
|
||||||
|
52.24 304.73 l
|
||||||
|
50.03086 304.73 48.24 306.52086 48.24 308.73 c
|
||||||
|
48.24 484.87 l
|
||||||
|
48.24 487.07914 50.03086 488.87 52.24 488.87 c
|
||||||
|
h
|
||||||
|
f
|
||||||
|
0.8 0.8 0.8 SCN
|
||||||
|
0.75 w
|
||||||
|
52.24 488.87 m
|
||||||
|
543.04 488.87 l
|
||||||
|
545.24914 488.87 547.04 487.07914 547.04 484.87 c
|
||||||
|
547.04 308.73 l
|
||||||
|
547.04 306.52086 545.24914 304.73 543.04 304.73 c
|
||||||
|
52.24 304.73 l
|
||||||
|
50.03086 304.73 48.24 306.52086 48.24 308.73 c
|
||||||
|
48.24 484.87 l
|
||||||
|
48.24 487.07914 50.03086 488.87 52.24 488.87 c
|
||||||
|
h
|
||||||
|
S
|
||||||
|
Q
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 466.045 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<2f2f20416c6c652056657261656e646572756e67656e2073746167656e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 451.305 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420616464202e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 421.825 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<2f2f20416c6c652056657261656e646572756e67656e206d6974204e616368726963687420636f6d6d697474656e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 407.085 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420636f6d6d6974202d6d20222e2e2e22> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 377.605 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<2f2f20416c6c652041656e646572756e67656e20616e7a656967656e206c617373656e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 362.865 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420737461747573> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 333.385 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<2f2f2044696520486973746f726965206d697420416c696173206c6720616e7a656967656e206c617373656e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 318.645 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<2420676974206c67> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
48.24 268.706 Td
|
||||||
|
/F2.0 18 Tf
|
||||||
|
<47697443616d70205265706f2065727374656c6c656e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
0.94387 Tw
|
||||||
|
|
||||||
|
BT
|
||||||
|
48.24 240.686 Td
|
||||||
|
/F1.0 10.5 Tf
|
||||||
|
[<41> 20.01953 <75662047697443616d70206475726368204b6c69636b> 20.01953 <656e2061756620224e65756573205265706f7369746f7279222065696e656e20225265706f7369746f72792d4e616d65222065696e7472> 20.01953 <6167656e20756e64206475726368>] TJ
|
||||||
|
ET
|
||||||
|
|
||||||
|
|
||||||
|
0.0 Tw
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
1.67024 Tw
|
||||||
|
|
||||||
|
BT
|
||||||
|
48.24 224.906 Td
|
||||||
|
/F1.0 10.5 Tf
|
||||||
|
[<4b6c69636b> 20.01953 <656e2061756620225265706f7369746f72792045727374656c6c656e> 40.03906 <2220626573748a746967656e2e2044616e616368206b616e6e206d616e206c6f6b616c2061756620646572204b> 20.01953 <6f6e736f6c6520666f6c67656e646573>] TJ
|
||||||
|
ET
|
||||||
|
|
||||||
|
|
||||||
|
0.0 Tw
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
48.24 209.126 Td
|
||||||
|
/F1.0 10.5 Tf
|
||||||
|
[<65696e7472> 20.01953 <6167656e3a>] TJ
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
q
|
||||||
|
0.96078 0.96078 0.96078 scn
|
||||||
|
52.24 193.31 m
|
||||||
|
543.04 193.31 l
|
||||||
|
545.24914 193.31 547.04 191.51914 547.04 189.31 c
|
||||||
|
547.04 72.13 l
|
||||||
|
547.04 69.92086 545.24914 68.13 543.04 68.13 c
|
||||||
|
52.24 68.13 l
|
||||||
|
50.03086 68.13 48.24 69.92086 48.24 72.13 c
|
||||||
|
48.24 189.31 l
|
||||||
|
48.24 191.51914 50.03086 193.31 52.24 193.31 c
|
||||||
|
h
|
||||||
|
f
|
||||||
|
0.8 0.8 0.8 SCN
|
||||||
|
0.75 w
|
||||||
|
52.24 193.31 m
|
||||||
|
543.04 193.31 l
|
||||||
|
545.24914 193.31 547.04 191.51914 547.04 189.31 c
|
||||||
|
547.04 72.13 l
|
||||||
|
547.04 69.92086 545.24914 68.13 543.04 68.13 c
|
||||||
|
52.24 68.13 l
|
||||||
|
50.03086 68.13 48.24 69.92086 48.24 72.13 c
|
||||||
|
48.24 189.31 l
|
||||||
|
48.24 191.51914 50.03086 193.31 52.24 193.31 c
|
||||||
|
h
|
||||||
|
S
|
||||||
|
Q
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 170.485 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420696e6974> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 155.745 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420636865636b6f7574202d62206d61696e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 141.005 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420616464202e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 126.265 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<242067697420636f6d6d6974202d6d2022666972737420636f6d6d697422> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 111.525 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<24206769742072656d6f746520616464206f726967696e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 96.785 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<ca2020202020202068747470733a2f2f3c496e7374616e7a3e2e67697463616d702d62772e64652f3c4f7267613e2f3c5265706f3e2e676974> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
59.24 82.045 Td
|
||||||
|
/F3.0 11 Tf
|
||||||
|
<24206769742070757368202d75206f726967696e206d61696e> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
q
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
1 w
|
||||||
|
0 J
|
||||||
|
0 j
|
||||||
|
[] 0 d
|
||||||
|
/Stamp1 Do
|
||||||
|
0.2 0.2 0.2 scn
|
||||||
|
0.2 0.2 0.2 SCN
|
||||||
|
|
||||||
|
BT
|
||||||
|
541.009 14.263 Td
|
||||||
|
/F1.0 9 Tf
|
||||||
|
<31> Tj
|
||||||
|
ET
|
||||||
|
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
Q
|
||||||
|
Q
|
||||||
|
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<< /Type /Page
|
||||||
|
/Parent 3 0 R
|
||||||
|
/MediaBox [0 0 595.28 841.89]
|
||||||
|
/CropBox [0 0 595.28 841.89]
|
||||||
|
/BleedBox [0 0 595.28 841.89]
|
||||||
|
/TrimBox [0 0 595.28 841.89]
|
||||||
|
/ArtBox [0 0 595.28 841.89]
|
||||||
|
/Contents 6 0 R
|
||||||
|
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
|
||||||
|
/Font << /F2.0 11 0 R
|
||||||
|
/F3.0 13 0 R
|
||||||
|
/F1.0 16 0 R
|
||||||
|
>>
|
||||||
|
/XObject << /Stamp1 25 0 R
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
[7 0 R /XYZ 0 841.89 null]
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<< /Type /Names
|
||||||
|
/Dests 10 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<< /Names [(__anchor-top) 24 0 R (_git_cheatsheets) 8 0 R (_git_globale_voreinstellungen) 12 0 R (_git_lokaler_workflow) 14 0 R (_gitcamp_repo_erstellen) 15 0 R]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<< /Type /Font
|
||||||
|
/BaseFont /f75ba4+NotoSerif-Bold
|
||||||
|
/Subtype /TrueType
|
||||||
|
/FontDescriptor 28 0 R
|
||||||
|
/FirstChar 32
|
||||||
|
/LastChar 255
|
||||||
|
/Widths 30 0 R
|
||||||
|
/ToUnicode 29 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
[7 0 R /XYZ 0 765.17 null]
|
||||||
|
endobj
|
||||||
|
13 0 obj
|
||||||
|
<< /Type /Font
|
||||||
|
/BaseFont /be5381+mplus1mn-regular
|
||||||
|
/Subtype /TrueType
|
||||||
|
/FontDescriptor 32 0 R
|
||||||
|
/FirstChar 32
|
||||||
|
/LastChar 255
|
||||||
|
/Widths 34 0 R
|
||||||
|
/ToUnicode 33 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
14 0 obj
|
||||||
|
[7 0 R /XYZ 0 528.95 null]
|
||||||
|
endobj
|
||||||
|
15 0 obj
|
||||||
|
[7 0 R /XYZ 0 292.73 null]
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<< /Type /Font
|
||||||
|
/BaseFont /ee340f+NotoSerif
|
||||||
|
/Subtype /TrueType
|
||||||
|
/FontDescriptor 36 0 R
|
||||||
|
/FirstChar 32
|
||||||
|
/LastChar 255
|
||||||
|
/Widths 38 0 R
|
||||||
|
/ToUnicode 37 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<< /Type /Outlines
|
||||||
|
/Count 5
|
||||||
|
/First 18 0 R
|
||||||
|
/Last 19 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<< /Title <feff0055006e007400690074006c00650064>
|
||||||
|
/Parent 17 0 R
|
||||||
|
/Count 0
|
||||||
|
/Next 19 0 R
|
||||||
|
/Dest [7 0 R /XYZ 0 841.89 null]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<< /Title <feff004700690074002000430068006500610074007300680065006500740073>
|
||||||
|
/Parent 17 0 R
|
||||||
|
/Count 3
|
||||||
|
/First 20 0 R
|
||||||
|
/Last 22 0 R
|
||||||
|
/Prev 18 0 R
|
||||||
|
/Dest [7 0 R /XYZ 0 841.89 null]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<< /Title <feff00470069007400200067006c006f00620061006c006500200056006f007200650069006e007300740065006c006c0075006e00670065006e>
|
||||||
|
/Parent 19 0 R
|
||||||
|
/Count 0
|
||||||
|
/Next 21 0 R
|
||||||
|
/Dest [7 0 R /XYZ 0 765.17 null]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<< /Title <feff0047006900740020006c006f006b0061006c0065007200200057006f0072006b0066006c006f0077>
|
||||||
|
/Parent 19 0 R
|
||||||
|
/Count 0
|
||||||
|
/Next 22 0 R
|
||||||
|
/Prev 20 0 R
|
||||||
|
/Dest [7 0 R /XYZ 0 528.95 null]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<< /Title <feff00470069007400430061006d00700020005200650070006f002000650072007300740065006c006c0065006e>
|
||||||
|
/Parent 19 0 R
|
||||||
|
/Count 0
|
||||||
|
/Prev 21 0 R
|
||||||
|
/Dest [7 0 R /XYZ 0 292.73 null]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<< /Nums [0 << /P (1)
|
||||||
|
>>]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
[7 0 R /XYZ 0 841.89 null]
|
||||||
|
endobj
|
||||||
|
25 0 obj
|
||||||
|
<< /Type /XObject
|
||||||
|
/Subtype /Form
|
||||||
|
/BBox [0 0 595.28 841.89]
|
||||||
|
/Length 165
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
q
|
||||||
|
/DeviceRGB cs
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
/DeviceRGB CS
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
1 w
|
||||||
|
0 J
|
||||||
|
0 j
|
||||||
|
[] 0 d
|
||||||
|
q
|
||||||
|
/DeviceRGB CS
|
||||||
|
0.86667 0.86667 0.86667 SCN
|
||||||
|
0.25 w
|
||||||
|
48.24 30.0 m
|
||||||
|
547.04 30.0 l
|
||||||
|
S
|
||||||
|
Q
|
||||||
|
Q
|
||||||
|
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
26 0 obj
|
||||||
|
<< /Type /XObject
|
||||||
|
/Subtype /Form
|
||||||
|
/BBox [0 0 595.28 841.89]
|
||||||
|
/Length 165
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
q
|
||||||
|
/DeviceRGB cs
|
||||||
|
0.0 0.0 0.0 scn
|
||||||
|
/DeviceRGB CS
|
||||||
|
0.0 0.0 0.0 SCN
|
||||||
|
1 w
|
||||||
|
0 J
|
||||||
|
0 j
|
||||||
|
[] 0 d
|
||||||
|
q
|
||||||
|
/DeviceRGB CS
|
||||||
|
0.86667 0.86667 0.86667 SCN
|
||||||
|
0.25 w
|
||||||
|
48.24 30.0 m
|
||||||
|
547.04 30.0 l
|
||||||
|
S
|
||||||
|
Q
|
||||||
|
Q
|
||||||
|
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
27 0 obj
|
||||||
|
<< /Length1 10344
|
||||||
|
/Length 6356
|
||||||
|
/Filter [/FlateDecode]
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
xœ½Z T[×™¾÷½§…MH Ä"–'=@`m€ | ||||||