Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
Git Workshop
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
osak
Git Workshop
Commits
4764dfb4
Verified
Commit
4764dfb4
authored
7 months ago
by
Lars Frost
Browse files
Options
Downloads
Patches
Plain Diff
Finish local sheet
parent
608719bf
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
materials/sheet_local.typ
+60
-20
60 additions, 20 deletions
materials/sheet_local.typ
materials/slides.typ
+5
-1
5 additions, 1 deletion
materials/slides.typ
with
65 additions
and
21 deletions
materials/sheet_local.typ
+
60
−
20
View file @
4764dfb4
...
...
@@ -11,21 +11,21 @@
=
Init
Open
the
downloaded
project
dir
`
greekify
`
in
a
terminal
.
You
should
have
a
file
`
greekify
.
py
`
and
`
greekify_replace
.
py
`
in
it
.
Calling
`
git
status
`
should
give
you
an
eror
message
telling
you
,
that
neither
this
nor
any
upper
directory
is
a
git
repository
.
Du
kannst
das
Git
-
Repository
immer
aus
allen
Unterverzeichnissen
ä
ndern
,
git
sucht
automatisch
in
den
h
ö
her
liegenden
Verzeichnissen
nach
Repositories
.
Ö
ffnet
das
Projekt
`
greekify
`
das
ihr
per
Mail
bekommen
habt
in
einem
Terminal
.
In
diesem
sollten
sich
die
Dateien
`
greekify
.
py
`
,
`
greekify_replace
.
py
`
und
`
test
.
txt
`
befinden
.
Der
Befehl
`
git
status
`
zeigt
grunds
ä
tzlich
an
,
in
welchem
Zustand
sich
das
Repository
gerade
befindet
.
Aktuell
sollte
`
git
status
`
eine
Fehlermeldung
anzeigen
,
dass
weder
das
aktuelle
noch
irgendein
h
ö
her
liegendes
Verzeichnis
ein
Git
-
Repository
ist
.
```
fatal
:
not
a
git
repository
(
or
any
parent
up
to
mount
point
/
)
```
Du
kannst
das
Git
-
Repository
immer
aus
allen
Unterverzeichnissen
ä
ndern
,
git
sucht
automatisch
in
den
h
ö
her
liegenden
Verzeichnissen
nach
Repositories
.
#
task
[
Erstelle
ein
git
-
repository
im
aktuellen
Verzeichnis
mit
`
git
init
`
.
]
Anschlie
ß
end
sollte
sich
ein
`
.
git
`
Verzeichnis
in
dem
`
greekify
`
Verzeichnis
befinden
.
Die
Ausgabe
von
`
git
log
`
zeigt
dir
nun
das
du
auf
dem
aktuellen
Branch
(
standardm
äß
ig
"
main
"
genannt
)
keine
Commits
hast
.
Die
Ausgabe
von
`
git
log
`
zeigt
dir
nun
,
das
s
du
auf
dem
aktuellen
Branch
(
standardm
äß
ig
"
main
"
genannt
)
keine
Commits
hast
.
```
fatal
:
your
current
branch
'
main
'
does
not
have
any
commits
yet
...
...
@@ -50,11 +50,10 @@ nothing added to commit but untracked files present (use "git add" to track)
```
=
Add
Der
n
ä
chste
Schritt
beim
Bearbeiten
ist
das
Tracken
von
Dateien
.
Der
n
ä
chste
Schritt
ist
das
Tracken
von
Dateien
.
#
task
[
Tracke
alle
Dateien
mit
`
git
add
greekify
.
py
greekify_replace
.
py
test
.
txt
`
.
Alternativ
kannst
du
auch
`
git
add
.
`
verwenden
um
alle
Dateien
im
aktuellen
Verzeichnis
(
genannt
`
.
`
)
hinzuzuf
ü
gen
.
Tracke
die
$
3
$
Dateien
mit
`
git
add
`
.
Als
Argument
akzeptiert
`
git
add
`
eine
Liste
von
Dateien
oder
Verzeichnissen
.
]
Du
kannst
mit
`
git
status
`
wieder
anzeigen
,
welchen
Zustand
die
Dateien
haben
.
...
...
@@ -65,18 +64,18 @@ Dabei sollte nun angezeigt werden, das die Programm- und Testdateien beim nächs
]
=
Commit
Um
die
Ä
nderung
auch
ins
r
epository
zu
ü
bernehmen
,
kannst
du
`
git
commit
`
verwenden
.
Um
die
Ä
nderung
auch
ins
R
epository
zu
ü
bernehmen
,
kannst
du
`
git
commit
`
verwenden
.
Dazu
musst
du
zuerst
2
Konfigurationen
setzen
.
Zum
einen
solltest
du
zum
Bearbeiten
der
Commit
-
Message
einen
Texteditor
verwenden
und
musst
Git
daf
ü
r
mitteilen
,
welchen
Editor
du
verwenden
m
ö
chtest
.
Zum
anderen
wird
bei
Commits
der
Autor
gespeichert
,
dazu
musst
du
Git
mitteilen
welche
Information
en
daf
ü
r
verwendet
werden
sollen
.
Zum
anderen
wird
bei
Commits
der
Autor
gespeichert
,
dazu
musst
du
Git
mitteilen
welche
r
Name
und
Kontaktdat
en
daf
ü
r
verwendet
werden
sollen
.
Konfigurationen
werden
mit
dem
Kommando
`
git
config
`
ge
ä
ndert
.
Mit
der
Flag
`
--global` setzt du sie global, ohne wird die Änderung nur für das lokale Repository geändert.
#
footnote
[
Alternativ
kannst
du
die
Datei
,
in
der
die
Konfiguration
gespeichert
ist
,
auch
direkt
bearbeiten
.
In
unix
-
artigen
Systemen
befindet
sich
die
globale
config
in
`$
HOME
/
.
gitconfig
`
und
die
Repository
-
lokale
config
in
`
.
/
.
git
/
config
`
]
M
ö
gliche
Editoren
:
-
Nano
(
einfach
gehalten
,
empfohlen
f
ü
r
Einstiger
,
das
`
^
`
in
der
Befehls
ü
bersicht
steht
f
ü
r
die
`
Strg
`
-
Taste
)
\
-
Nano
(
einfach
gehalten
,
empfohlen
f
ü
r
Einstiger
;
das
`
^
`
in
der
Befehls
ü
bersicht
steht
f
ü
r
die
`
Strg
`
-
Taste
)
\
`
git
config
--global core.editor /bin/nano`
-
Vim
(
Sehr
interessanter
Editor
dessen
Benutzung
den
Rahmen
dieses
Workshops
weit
sprengt
)
\
`
git
config
--global core.editor /bin/vim`
...
...
@@ -100,7 +99,7 @@ git config user.email "dein.name@rwth-aachen.de"
]
#
task
[
Commit
die
getrackten
Ä
nderung
mit
`
git
commit
`
.
Dies
sollte
den
zuvor
konfigurierten
Texteditor
ö
ffen
,
mit
einer
Ü
bersicht
.
Commit
die
getrackten
Ä
nderung
mit
`
git
commit
`
.
Dies
sollte
den
zuvor
konfigurierten
Texteditor
ö
ffen
,
mit
einer
Ü
bersicht
der
ge
ä
nderten
Dateien
.
Lies
dir
die
generierten
Kommentare
dort
in
Ruhe
durch
.
Schreibe
anschlie
ß
end
eine
Commit
-
Message
in
die
erste
Zeile
.
Trage
erstmal
irgendeine
Message
ein
,
wir
kommen
sp
ä
ter
dazu
wie
eine
gute
Commit
-
Message
aussieht
.
...
...
@@ -177,17 +176,17 @@ Bei der Commit-Id genügen die ersten 7 Zeichen, im oberen Beispiel wäre der Be
Falls
du
das
Programm
zwischenzeitg
ausf
ü
hrst
und
dabei
ein
`__
PYCACHE__
`
-
Verzeichnis
entsteht
,
committe
dieses
nicht
.
]
Der
`
git
log
`
Befehl
kann
d
ir
auch
nur
das
log
f
ü
r
ausgew
ä
hlte
Dateien
anzeig
en
.
Der
`
git
log
`
Befehl
kann
d
as
Log
auch
auf
ausgew
ä
hlte
Dateien
beschr
ä
nk
en
.
Die
Syntax
daf
ü
r
ist
`
git
log
-- Datei1 Datei2`.
#
question
[
Was
sollte
anschlie
ß
end
die
Ausgabe
vo
n
`
git
log
-- greekify_replace.py` und `git log -- greekify.py`
sei
n? Warum?
Was
sollten
`
git
log
-- greekify_replace.py` und `git log -- greekify.py`
jetzt anzeige
n? Warum?
]
=
.
gitignore
Beim
Ausf
ü
hren
des
Programs
sollte
ein
`__
PYCACHE__
`
-
Verzeichnis
entstehen
.
Dieses
geh
ö
rt
wie
alle
Cache
-
Dateien
und
andere
automatisch
generierte
Dateien
nicht
ins
Git
-
Repository
.
Um
Git
dar
ü
ber
zu
informieren
kannst
du
ein
.
gitignore
Datei
anlegen
.
Beim
Ausf
ü
hren
des
Program
m
s
sollte
ein
`__
PYCACHE__
`
-
Verzeichnis
entstehen
.
Dieses
geh
ö
rt
wie
alle
automatisch
generierte
Dateien
nicht
ins
Git
-
Repository
.
Um
Git
dar
ü
ber
zu
informieren
,
kannst
du
ein
.
gitignore
Datei
anlegen
.
In
dieser
kannst
du
zeilenweise
Dateien
eintragen
die
ignoriert
werden
sollen
.
Wenn
Git
eine
Datei
ignoriert
wird
sie
nicht
in
`
git
status
`
als
untracked
angezeigt
und
`
git
add
`
auf
einem
h
ö
herliegenden
Verzeichnis
f
ü
gt
sie
nicht
hinzu
.
...
...
@@ -196,7 +195,7 @@ Wenn Git eine Datei ignoriert wird sie nicht in `git status` als untracked angez
Lege
eine
`
.
gitignore
`
-
Datei
an
,
nach
der
das
`__
PYCACHE__
`
-
Verzeichnis
ignoriert
wird
.
Bei
Erfolg
sollte
`
git
status
`
die
Datei
nicht
mehr
als
untracked
anzeigen
.
Dar
ü
ber
hinaus
sollte
`
git
log
-- __pycache__` keine Commits anzeigen, andernfalls hast du `__PYCACHE__`
aus
Versehen
getrackt
und
C
omitted
.
aus
Versehen
getrackt
und
c
omitted
.
]
#
info
[
.
gitignore
akzeptiert
auch
Wildcards
,
also
Sonderzeichen
die
es
erm
ö
glichen
mehrere
Dateien
in
einer
Zeile
abzudecken
.
...
...
@@ -209,11 +208,52 @@ Wenn Git eine Datei ignoriert wird sie nicht in `git status` als untracked angez
#
warning
[
Automatisch
generierte
Dateien
geh
ö
ren
nicht
ins
Git
-
Repository
.
Nicht
nur
weil
das
unn
ö
tig
Speicher
wegnimmt
,
sondern
auch
weil
die
von
Menschen
vorgenommenen
Ä
nderung
in
der
Flut
an
ge
ä
nderten
generierten
Dateien
untergehen
.
Bei
Dateien
,
die
nur
teilweise
automatisch
generiert
sind
(
z
.
B
.
`
Cargo
.
lock
`
in
Rust
Projekten
),
kann
es
hingegen
schon
sinnvoll
sein
,
Bei
nur
teilweise
automatisch
generiert
Dateien
(
z
.
B
.
`
Cargo
.
lock
`
in
Rust
Projekten
),
kann
es
hingegen
schon
sinnvoll
sein
,
sie
im
Git
-
Repository
zu
tracken
.
]
=
Diff
Der
Befehl
`
git
diff
`
gibt
den
Unterschied
zwischen
zwei
Versionen
aus
.
Beispielsweise
gibt
`
git
diff
7120114
`
an
,
was
sich
seit
Commit
`
7120114
`
ge
ä
ndert
hat
.
Alternativ
akzeptiert
`
git
diff
`
auch
Ranges
und
Dateien
,
z
.
B
.
gibt
`
git
diff
1
f44746
..
7120114
-- csv-core/src/writer.rs` an,
was
sich
von
Commit
`
1
f44746
`
zu
Commit
`
7120114
`
in
der
Datei
`
csv
-
core
/
src
/
writer
.
rs
`
ge
ä
ndert
hat
.
#
task
[
Diese
und
die
folgenden
Aufgaben
beziehen
sich
das
`
rust
-
csv
`
Projekt
.
#
set
enum
(
numbering
:
"
a)
"
)
1.
Finde
mit
`
git
diff
`
heraus
,
was
sich
in
den
letzten
$
20
$
Commits
an
der
Datei
`
src
/
tutorial
.
rs
`
ge
ä
ndert
hat
.
2.
Auch
`
git
log
`
akzeptiert
Ranges
.
Finde
mit
`
git
log
`
heraus
,
welche
der
letzten
$
20
$
Commits
die
Datei
`
src
/
tutorial
.
rs
`
ge
ä
ndert
haben
.
]
#
optional
-
task
[
Wie
viele
Dateien
wurden
in
den
letzten
$
100
$
Commits
ge
ä
ndert
?
Ö
ffne
mit
`
man
git
-
diff
`
das
Manual
f
ü
r
den
`
git
diff
`
Befehl
.
Durchsuche
die
Optionen
f
ü
r
eine
Option
mit
der
du
die
Aufgabe
einfach
l
ö
sen
kannst
.
]
=
Checkout
Mit
`
git
checkout
`
kannst
du
alte
Versionen
in
deine
Working
-
Area
laden
.
Z
.
B
.
l
ä
dt
der
Befehl
`
git
checkout
1234567
`
Commit
`
1234567
`
.
#
task
[
Wir
viele
Zeilen
hatte
die
Datei
`
README
.
md
`
in
Commit
`
77
fdafe
`?
]
#
question
[
Was
macht
`
git
checkout
HEAD
`?
]
=
Zusammenfassung
Eine
Version
in
Git
hei
ß
t
Commit
.
Jeder
Commit
wird
anhand
eines
Hashes
eindeutig
identifiziert
.
Der
Hash
kann
meist
mit
den
ersten
$
7
$
Zeichen
abgek
ü
rzt
werden
.
Nach
diesem
Aufgabenblatt
solltest
du
mit
den
folgenden
Befehlen
grundlegend
vertraut
sein
:
-
`
init
`
-
`
add
`
-
`
commit
`
-
`
log
`
-
`
diff
`
-
`
checkout
`
#
optional
-
task
[
Wiederhole
die
Ü
bungen
in
einem
neuen
Verzeichnis
mit
der
Entwicklungsumgebung
deiner
Wahl
...
...
This diff is collapsed.
Click to expand it.
materials/slides.typ
+
5
−
1
View file @
4764dfb4
...
...
@@ -192,7 +192,11 @@
#let (uncover, only, alternatives) = utils.methods(self)
#alternatives[
#align(center)[
`git init` & `git commit`
`git init`
]
][
#align(center)[
`git commit`
]
#fletcher.diagram(
node-stroke: 1pt,
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment