Zum Inhalt springen

Commit (Versionskontrolle)

aus Wikipedia, der freien Enzyklopädie

In Versionskontrollsystemen ist ein Commit eine Operation, die die neuesten Änderungen des Software-Quellcodes an das Repository sendet und diese Änderungen so in die Hauptrevision des Repositorys einfügt. Im Gegensatz zu Commits in der Datenverwaltung, werden Commits in Versionskontrollsystemen unbegrenzt im Repository gespeichert. Wenn andere Benutzer also ein update oder einen checkout aus dem Repository durchführen, erhalten sie die zuletzt committete Version, sofern sie nicht angeben, dass sie eine frühere Version des Quellcodes im Repository abrufen möchten. Versionskontrollsysteme ermöglichen ein einfaches Rollback zu früheren Versionen. In diesem Zusammenhang ist ein Commit innerhalb eines Versionskontrollsystems geschützt, da er auch nach der Anwendung des Commits problemlos zurückgesetzt werden kann.

Um eine Änderung in git über die Kommandozeile zu committen, führt man, sofern Git installiert ist, den folgenden Befehl aus:[1]

git commit -m 'Commit Zusammenfassung'

Dies setzt voraus, dass die Dateien im aktuellen Verzeichnis wie folgt bereitgestellt wurden:[2]

git add .

Der obige Befehl fügt alle Dateien im Arbeitsverzeichnis hinzu, die für den Git-Commit bereitgestellt werden sollen. Nachdem der Commit angewendet wurde, besteht der letzte Schritt darin, den Commit in das angegebene Software-Repository, im folgenden Fall origin, in den Branch main zu pushen (bis dahin befinden sich die Änderungen nur auf dem lokalen Rechner, nicht aber in dem Repository):[3]

git push origin main

Eine weitere Möglichkeit, alle nicht bereitgestellten Dateien hinzuzufügen und gleichzeitig einen Commit durchzuführen, ist:[4]

git commit -a -m 'Commit-Nachricht'

Um eine Änderung in Mercurial über die Kommandozeile zu committen, sofern hg installiert ist, verwendet man den folgenden Befehl:[5]

hg commit --message 'Commit-Nachricht'

Dies setzt voraus, dass die Dateien im aktuellen Verzeichnis wie folgt bereitgestellt wurden:

hg add

Der obige Befehl fügt alle Dateien im Arbeitsverzeichnis hinzu, bereitgestellt für den Mercurial-Commit. Nach der Anwendung des Commits wird der Commit im letzten Schritt in das angegebene Software-Repository, in den default-Branch, übertragen:

hg push

Forschung und Daten

[Bearbeiten | Quelltext bearbeiten]

Commit-Zusammenfassungen werden unter anderem dazu genutzt um KI-Modelle zu trainieren.[6] Sie können auch ausgewertet werden um die Datenqualität für Metriken, Statistiken usw. zu verbessern, indem beispielsweise Bots herausgefiltert werden können.[7] Gource ist eine Software die die Entwicklungsgeschichte von open source Software visualisiert.[8] Es gibt auch Forschung dazu wie anomale und potenziell böswillige Commits zu open source Repositories automatisch erkannt werden könnten.[9]

Der Linux-Kernel wird zum Stand von 2024 mit einer Geschwindigkeit von circa 80.000 Commits pro Jahr entwickelt.[10]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Was ist der Git-Commit-Befehl? Unser Einsteigerleitfaden 2023. In: careerfoundry.com. 13. Juni 2022, abgerufen am 27. November 2023 (amerikanisches Englisch).
  2. Der git add-Befehl für Anfänger. In: www.theserverside.com. Abgerufen am 27. November 2023.
  3. GIT Push and Pull Tutorial. In: DataCamp. 1. Juli 2019, abgerufen am 27. November 2023 (englisch).
  4. Git - git-commit Documentation. In: www.git-scm.com. Abgerufen am 4. Oktober 2017 (englisch).
  5. Hg - Mercurial -Quickstart. In: www.mercurial-scm.com. Abgerufen am 5. November 2018 (englisch).
  6. CommitBART: A Large Pre-trained Model for GitHub Commits. In: arxiv.org. Cornell University, 17. August 2022, abgerufen am 18. April 2025 (englisch).
  7. Evaluating a bot detection model on git commit messages. In: arxiv.org. Cornell University, 22. März 2021, abgerufen am 18. April 2025 (englisch).
  8. Linux Code: How to Use Gource to Visualize Your Project‘s Development Timeline – TheLinuxCode. In: thelinuxcode.com. 7. Januar 2025, abgerufen am 18. April 2025 (englisch).
  9. Anomalicious: Automated Detection of Anomalous and Potentially Malicious Commits on GitHub | IEEE Conference Publication | IEEE Xplore. In: ieeexplore.ieee.org. 28. Mai 2021, abgerufen am 18. April 2025 (englisch).
  10. Classifying Linux commits