In den Beiträgen Agile Softwareentwicklung - Software im Team entwickeln hatte ich mich mit den allgemeinen Begriffen (Contributor, Maintainer, Pull Request / Merge Request, Commit und Issue) beschäft und GitHub Flow kurz erklärt.
In der c't 17/2025 gibt es einen guten Beitrag zum Thema "Git-Stolperfallen im Alltag". Siehe https://www.heise.de/select/ct/2025/17/2519512434440349082.
Dabei werden folgende nützliche Tricks für den Git-Alltag gegeben:
- Wie kann ich verhindern, dass sensible Daten versehentlich in einem Commit landen?
- Stelle sicher, dass Dateien mit sensiblen Informationen (z.B. .env, config.json) in der .gitignore Datei aufgeführt sind.
- Wie finde ich heraus, welche Code-Zeile von welchem User kommt?
- git blame <dateiname>
- Für detaillierte Historie:
- git log -L :functionName:<dateiname>
- Für eine bestimmte Zeilenrange:
- git log -L 10,20:<dateiname>
- Wie behebe ich einen missratenen Commit vor dem Push? Ich vergesse häufig Dateien oder vertippe mich in der Commit-Nachricht.
- git commit --amend
- In einem Projekt pflegen wir zahlreiche Branches und verlieren häufig den Überblick. Was können wir besser machen?
- Ein konsistentes Namensschema hilft sofort beim Erkennen des Zwecks eines Branches
- feature/<ticket-id>-<beschreibung>
- bugfix/<ticket-id>-<beschreibung>
- hotfix/<beschreibung>
- release/<version>
- Ich habe ein Projekt gestartet, an dem nun weitere Leute mitwirken sollen. Wie sollten die Commits idealerweise aussehen, damit das Projekt wartbar bleibt?
- Ein guter Commit sollte kurz, präzise und aussagekräftig sein. Ideal ist ein zweigeteilter Aufbau:
- Kurze Zusammenfassung (max. 50 Zeichen)
- Optional: ausführlichere Beschreibung (max. 72 Zeichen/Zeile)
- Ich habe zahlreiche unterschiedliche Änderungen an einer Datei vorgenommen, wie reiche ich diese in mehreren Commits ein?
- Datei nicht direkt committen, sondern Änderungen stagen
- git add -p <dateiname>
- Ein Git-Repository soll auf einen anderen Server verschoben werden. Wie geht das am einfachsten?
- Repository klonen und auf neuen Server pushen
- git clone --bare <url-zum-alten-repo>
- cd <repo-name>.git
- git remote add new-origin <url-zum-neuen-repo>
- git push --mirror new-origin