Erster Commit¶
Wenn wir jetzt den aktuellen Projektzustand in der Git Repository
einchecken wollen, so benötigen wir den Befehl git commit.
Der lokale Ordner .git in unserem Projektordner stellt das Git-Repo dar.
Achtung
Sollten Sie beim Committen den Parameter -m für die Commit-Message vergessen,
so landen Sie im VI und müssen mittels i in den Einfügemodus zum Schreiben.
Danach mit ESC und ZZ die Bearbeitung beenden.
Besser: mit Parameter -m arbeiten oder anderen Standard-Editor
konfigurieren.
Best Practise für Commits
früh und häufig commiten (Änderungen einchecken)
eine logische/inhaltliche Änderung entspricht einem Commit
Commits lassen sich später zusammenfassen / aufräumen (siehe rebase)
Und los geht es:
$ git commit -m 'Initial commit; First Commit to .git'
[master (root-commit) 636908f] Initial commit; First Commit to .git
2 files changed, 4 insertions(+)
create mode 100644 testdatei.txt
create mode 100644 testdatei2.txt
Man erkennt den aktuellen Branch mit Standardname master und die Quittung root-commit - also die Wurzel für alle weiteren Arbeiten/Änderungen am Git-Repo.
Der Commit ist mit einer eindeutigen (hier abgekürzten) SHA-1-Summe gekennzeichnet: 636908f
Der Commit kann mit git show dargestellt werden:
$ git show
commit 636908f2b795b68c4c99f978239be5e274bfea05 (HEAD -> master)
Author: Joe Brandes <joe.trainer@example.com>
Date: Thu Jul 11 14:04:11 2019 +0200
Initial commit; First Commit to .git
diff --git a/testdatei.txt b/testdatei.txt
new file mode 100644
index 0000000..2fddc57
--- /dev/null
+++ b/testdatei.txt
@@ -0,0 +1,3 @@
+Zeile 1
+Zeile 2
+
diff --git a/testdatei2.txt b/testdatei2.txt
new file mode 100644
index 0000000..a33806c
--- /dev/null
+++ b/testdatei2.txt
@@ -0,0 +1 @@
+Text in Datei 2
Spätestens jetzt ist deutlich zu erkennen: ein Commit ist hier eine Zustandsbeschreibung von mehreren Dateien. Für jede Datei ist natürlich der Diff (die Änderung) beschrieben.
Eine Analyse für das Git-Projekt zeigt jetzt:
$ git status
On branch master
nothing to commit, working tree clean
Alle Dateien besitzen jetzt (wieder) den Status Unmodified, was eben mit keinem Kürzel / keiner Anmerkung bedacht wird.
Tipp
Man kann das git add ... auch mit git commit -a -m '...'
zu einem Schritt vereinen. Allerdings werden dann wirklich alle getrackten,
veränderten Dateien in einem Schritt commited. Damit könnte man auch
ungewünschte Änderungen/Dateien ins Git Repo veröffentlichen.
Wir werden erst einmal immer einzeln den Git Status beobachten
und sauber mit git add gefolgt von git commit arbeiten.