Mit Git Commit erstellen Sie Snapshots Ihrer Fort­schrit­te und speichern so Ihre Än­de­run­gen. Der Befehl gehört daher zu den wich­tigs­ten Commands bei der Arbeit an einem Projekt.

KI-Assistent kostenlos – Ihr smarter All­tags­hel­fer
  • DSGVO-konform & sicher gehostet in Deutsch­land
  • Pro­duk­ti­vi­tät steigern – weniger Aufwand, mehr Output
  • Direkt im Browser starten – ohne In­stal­la­ti­on

Was ist Git Commit?

Der Git Command Git Commit ist bei der Arbeit an einem Projekt einer der wich­tigs­ten und meist­ge­nutz­ten Befehle. Wenn Sie Än­de­run­gen an einem Projekt vornehmen, diese auf Herz und Nieren getestet haben und nun zufrieden damit sind, erstellen Sie mit diesem Command einen Snapshot des aktuellen Stands. Git be­trach­tet diesen Snapshot als sichere Version und nimmt nur dann Än­de­run­gen daran vor, wenn es aus­drück­lich dazu auf­ge­for­dert wird. Wenn Sie mit einem lokalen Re­po­si­to­ry arbeiten, erstellt Git Commit hier auch den Snapshot, ohne dass dieser Aus­wir­kun­gen auf andere Re­po­si­to­ries hat. Diese können durch Git Push und Git Pull darauf zugreifen.

Das ist auch der Un­ter­schied zwischen Git und SVN. Der de­zen­tra­le Ansatz von Git erlaubt Ent­wick­le­rin­nen und Ent­wick­lern die gleich­zei­ti­ge Arbeit an einem und demselben Projekt. Jedes Team­mit­glied hat dann die Mög­lich­keit, den eigenen Ent­wick­lungs­stand im lokalen Re­po­si­to­ry mit Git Commit fest­zu­hal­ten. Das bewahrt Än­de­run­gen nicht nur für den Moment, sondern erlaubt Ihnen zu­sätz­lich, zu einem späteren Zeitpunkt auf den ent­spre­chen­den Stand zu­rück­zu­grei­fen. Dadurch erhöht sich die Si­cher­heit und der Schutz vor Fehlern deutlich. Sie sollten daher in re­gel­mä­ßi­gen Abständen und nach größeren Ver­än­de­run­gen Git Commits durch­füh­ren.

Funk­ti­ons­wei­se und Syntax von Git Commit

Durch die Arbeit in einer iso­lier­ten Umgebung können Sie nach der besten Lösung für ein Problem suchen, ohne dabei das zentrale Re­po­si­to­ry zu verändern. Erst wenn Sie eine Änderung gründlich getestet haben, wenden Sie diese Än­de­run­gen dann auf das Ge­samt­pro­jekt an. Git Commit bewahrt zu diesem Zweck alle einzelnen Spei­cher­stän­de und erlaubt Ihnen so den Rückgriff auf ältere Snapshots. Die Syntax von Git Commit ist dabei im Grundsatz immer gleich, kann al­ler­dings um Argumente erweitert werden. Mit folgendem Stan­dard­be­fehl führen Sie einen Git Commit im Staging-Bereich aus. Über den Text­edi­tor fügen Sie dann eine Nachricht ein und speichern den Snapshot.

git commit

Weitere Optionen von Git Commit

Erweitern Sie Git Commit um ein Argument, können Sie den je­wei­li­gen Snapshot noch im Vorfeld anpassen und so Ihren Workflow op­ti­mie­ren.

Än­de­run­gen im Ar­beits­ver­zeich­nis speichern

Mit dem Argument -a erstellen Sie einen Snapshot sämt­li­cher Än­de­run­gen im Ar­beits­ver­zeich­nis. Be­rück­sich­tigt werden dabei all jene Dateien, die ir­gend­wann über Git Add zum lokalen Re­po­si­to­ry hin­zu­ge­fügt wurden. So sieht der passende Befehl aus:

git commit -a

Nachricht einfügen

Durch die Option -m können Sie den Umweg über den Text­edi­tor vermeiden. Wie oben be­schrie­ben, werden Sie nor­ma­ler­wei­se dazu auf­ge­for­dert, bei der Er­stel­lung eines Snapshot mit Git Commit auch eine er­klä­ren­de Nachricht ein­zu­fü­gen. Mit -m machen Sie diesen Schritt direkt.

git commit -m "Hier steht Ihre Erklärung"

Kom­bi­na­ti­on aus beiden Optionen

Auch eine Kom­bi­na­ti­on der beiden obigen Optionen ist für Haupt­nut­ze­rin­nen und -nutzer möglich. So werden alle Än­de­run­gen im Ar­beits­ver­zeich­nis be­rück­sich­tigt und direkt eine Erklärung mit­ge­schickt.

git commit -am "Hier steht Ihre Erklärung"

Git Commits verändern

Mit dieser Option ändern Sie Ihren letzten Git Commit. Neue Än­de­run­gen werden zum letzten Snapshot hin­zu­ge­fügt. Die Än­de­run­gen nehmen Sie über den Text­edi­tor vor.

git commit --amend

Beispiel für einen Git Commit

Nun zeigen wir Ihnen, wie Git Commit in der Praxis aussieht. In unserem Beispiel haben wir an einer Datei ge­ar­bei­tet und möchten diese Än­de­run­gen nun fest­hal­ten. Dazu ver­schie­ben wir sie zuerst in den Staging-Bereich mit dem Befehl Git Add:

git add beispiel.py

Mit dem Befehl Git Status können wir nun über­prü­fen, ob die Datei in den Staging-Bereich auf­ge­nom­men worden ist:

git status
On branch main
Changes to be committed:
(use "git reset HEAD <file>…" to unstage)</file>
new file: beispiel.py

Ent­spricht der Status Ihren Vor­stel­lun­gen, können Sie Git Commit durch­füh­ren:

git commit

Im Anschluss wird Ihr Text­edi­tor geöffnet. Zwar können Sie die Erklärung grund­sätz­lich frei for­mu­lie­ren, es ist al­ler­dings ge­bräuch­lich, mit einer Zu­sam­men­fas­sung von ca. 50 Zeichen an­zu­fan­gen, dann eine leere Zeile ein­zu­schie­ben und im Anschluss eine genaue Erklärung der einzelnen Än­de­run­gen zu for­mu­lie­ren. So stellen Sie sicher, dass alle Team­mit­glie­der Ihre Än­de­run­gen schnell nach­voll­zie­hen können. Zeilen, die mit einer Raute (#) beginnen, werden in der Erklärung ignoriert. Bleibt die Erklärung komplett leer, wird der Git Commit nicht durch­ge­führt.

Git Commits löschen

Es ist zwar grund­sätz­lich möglich, einen Git Commit zu löschen, al­ler­dings wird das nur in absoluten Aus­nah­me­fäl­len empfohlen. Durch die Löschung können große Probleme entstehen, ins­be­son­de­re dann, wenn Sie in einem Team arbeiten. Löschen Sie in Ihrem lokalen Re­po­si­to­ry einen Git Commit, während Ihre Team­mit­glie­der mit dem alten Stand wei­ter­ar­bei­ten, sind Ihre Aus­gangs­punk­te nicht mehr identisch – dadurch kann es zu Fehlern bei der Zu­sam­men­füh­rung kommen. Über den Befehl Git Revert können Sie Än­de­run­gen rück­gän­gig machen, ohne die History Ihres Re­po­si­to­ries zu verändern. Eine end­gül­ti­ge Löschung eines Git Commits führen Sie über den Command Git Reset durch. Diesen finden Sie neben vielen anderen in unserem Git Cheat Sheet zum PDF-Download.

Tipp

In nur drei Schritten Ihr eigenes Projekt online bringen! Mit Deploy Now von IONOS führen Sie Git Push, Build und Deploy ganz einfach selbst aus. Pro­fi­tie­ren Sie dabei von vielen nütz­li­chen Features, einem schnellen Setup und maximaler Ska­lier­bar­keit.

Zum Hauptmenü