Eine Datei versionieren
Legen wir eine neue Text-Datei an, die wir versionieren möchten.
# Linux / macOSrepo_1$ touch kapitel_1.txt# WindowsPS repo_1> New-Item kapitel_1.txt
Directory: C:\Users\kurs\src\repo_1
Mode LastWriteTime Length Name---- ------------- ------ -----a--- 21.09.2021 07:32 0 kapitel_1.txtWenn wir nun den Status des Repositorys aufrufen, erhalten wir eine ganz andere Meldung.
repo_1$ git statusOn branch main
No commits yet
Untracked files: (use "git add <file>..." to include in what will be committed) kapitel_1.txt
nothing added to commit but untracked files present (use "git add" to track)Datei zum Staging-Bereich hinzufügen
Abschnitt betitelt „Datei zum Staging-Bereich hinzufügen“Die Meldung besagt, dass in unserem Ordner eine neue, noch nicht versionierte (untracked) Datei liegt. Git gibt zugleich auch den Tipp, wie diese Datei unter Versionskontrolle genommen werden kann. Wir folgen einfach dem Tipp und nutzen den add1 Befehl. Mit status prüfen wir wieder, welche Auswirkung das auf unser Repository hat.
repo_1$ git add kapitel_1.txtrepo_1$ git statusOn branch main
No commits yet
Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: kapitel_1.txtNun besagt die Meldung, dass wir Änderungen haben, die auf ein Commit warten.
Änderungen festschreiben
Abschnitt betitelt „Änderungen festschreiben“Nun schreiben wir die Version mit einen commit2 endgültig fest. Dabei ist es bei git auch immer notwendig eine Nachricht mitzugeben (Parameter -m), die die aktuelle Version beschreibt. Eine gute Dokumentation, wie eine Commit-Nachricht aussehen könnte, finden Sie unter Konventionelle Commits.
Wird die Nachricht (Message) nicht direkt mit angegeben, startet git automatisch vorkonfigurierten Text-Editor, um die Nachricht in diesem einzugeben. Das ist sehr praktisch, wenn man mehrzeilige Nachrichten an die Version anhängen möchte.
repo_1$ git commit -m "feat: Start des ersten Kapitels"
*** Please tell me who you are.
Run
git config --global user.email "you@example.com" git config --global user.name "Your Name"
to set your account's default identity.Omit --global to set the identity only in this repository.
fatal: empty ident name (for <kurse@pc.localdomain>) not allowedBenutzer in git einrichten
Abschnitt betitelt „Benutzer in git einrichten“repo_1$ git config --global user.email "kurse@richter.consulting"repo_1$ git config --global user.name "Eugen [WebDucer] Richter"repo_1$ git commit -m "feat: Start des ersten Kapitels"[main (root-commit) e12fb6d] feat: Start des ersten Kapitels 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 kapitel_1.txtJetzt haben wir unseren ersten Commit mit git erstellt. Mit git status kann nachgeprüft werden, ob das Repository nun wieder in einen sauberen Zustand ist.
Allgemeiner Ablauf
Abschnitt betitelt „Allgemeiner Ablauf“Der allgemeine Ablauf beim Arbeiten mit git sieht damit wie folgt aus:
- Anlegen oder ändern der Dateien, die versioniert werden sollen.
- Hinzufügen der neuen oder geänderten Dateien über
git add dateiA dateiB. - Festschreiben der neuen Version mit
git commit -m "Warum wurde etwas geändert".