Git ist aus dem modernen Entwickler-Alltag kaum noch wegzudenken. Ob eigene Website, Kundenprojekt, App, Script-Sammlung oder großes Team-Repository: Mit Git lassen sich Änderungen nachvollziehen, Versionen sichern, Experimente sauber trennen und Fehler gezielt rückgängig machen. Trotzdem wirkt Git am Anfang oft komplizierter, als es eigentlich ist. Begriffe wie Commit, Branch, Merge, Rebase, Reset, Cherry Pick oder Tag klingen technisch, sind im Alltag aber vor allem praktische Werkzeuge, um strukturiert und sicher an Code zu arbeiten.
Dieser Artikel erklärt die wichtigsten Git-Grundlagen verständlich und praxisnah. Du lernst, wie Git grundsätzlich funktioniert, welche Befehle und Konzepte du kennen solltest und wie du unter Windows mit TortoiseGit viele Aufgaben bequem per Kontextmenü erledigst. Besonders wichtig ist dabei das sichere Arbeiten mit dem master Branch, das Zusammenführen von Änderungen und das gezielte Zurückspringen auf ältere Versionen.
Wenn du dich allgemein für Softwareentwicklung interessierst, findest du auf Andinet auch weitere passende Beiträge rund um Softwareerstellung und Programmierung, Python-Tipps für Entwickler und KI für Entwickler.

Git ist ein verteiltes Versionskontrollsystem. Es speichert nicht einfach nur einzelne Dateien, sondern den Verlauf eines Projekts. Dadurch kannst du jederzeit nachvollziehen, wann welche Änderung gemacht wurde, wer sie vorgenommen hat und warum sie notwendig war. Für Entwickler ist das enorm wertvoll, weil Software nie statisch ist: Funktionen werden erweitert, Fehler werden behoben, Dateien werden umstrukturiert und manchmal muss man eine Änderung wieder rückgängig machen.
Der große Vorteil von Git besteht darin, dass du nicht nur eine aktuelle Projektversion hast, sondern eine komplette Historie. Du kannst also experimentieren, neue Funktionen in separaten Zweigen entwickeln und später entscheiden, ob du sie übernimmst. Gleichzeitig kannst du alte Stände wiederherstellen, einzelne Fehlerkorrekturen übernehmen oder problematische Änderungen rückgängig machen.
Git ist damit nicht nur für große Softwareteams interessant. Auch Einzelentwickler, Webseitenbetreiber, Freelancer und Hobbyprogrammierer profitieren davon. Gerade bei eigenen Projekten, Skripten, Webseiten oder Tools verhindert Git, dass wichtige Änderungen verloren gehen oder unübersichtlich werden.
Um Git wirklich zu verstehen, sollte man die wichtigsten Bereiche kennen. Ein Git-Projekt besteht nicht nur aus den Dateien, die du im Explorer siehst. Git unterscheidet mehrere Zustände, die im Alltag sehr wichtig sind.
Das Repository ist der eigentliche Git-Speicher. Dort liegen die komplette Historie, alle Commits, Branches, Tags und Metadaten. In einem lokalen Git-Projekt befindet sich dieser Bereich im versteckten Ordner .git. Dieser Ordner ist das Herzstück des Projekts. Wird er gelöscht, bleiben zwar die aktuellen Dateien erhalten, aber die Git-Historie ist weg.
Der Working Tree ist dein aktueller Arbeitsstand. Das sind die Dateien, die du im Editor öffnest, änderst, löschst oder neu erstellst. Wenn du beispielsweise eine PHP-Datei, ein Python-Script oder eine HTML-Seite bearbeitest, änderst du zunächst nur den Working Tree.
Die Staging Area ist eine Art Vorbereitungsliste für den nächsten Commit. Du entscheidest, welche geänderten Dateien in den nächsten Commit aufgenommen werden sollen. Das ist sehr praktisch, weil du nicht automatisch alle Änderungen speichern musst. Du kannst gezielt nur die zusammengehörenden Änderungen auswählen.
Ein Commit ist ein gespeicherter Projektstand. Er enthält die ausgewählten Änderungen, eine eindeutige ID, den Autor, den Zeitpunkt und eine Commit-Nachricht. Gute Commit-Nachrichten helfen später enorm, die Entwicklung eines Projekts zu verstehen.
Ein typischer Ablauf sieht so aus:
git status
git add index.html
git commit -m "Improve homepage introduction"
Mit git status prüfst du den aktuellen Zustand, mit git add übernimmst du Dateien in die Staging Area und mit git commit speicherst du daraus einen neuen Stand in der Historie.
Auch wenn viele Entwickler unter Windows gerne mit TortoiseGit arbeiten, ist es hilfreich, die wichtigsten Git-Befehle zu kennen. Sie erklären, was im Hintergrund passiert, und helfen bei Problemen, Fehlermeldungen oder Anleitungen im Internet.
git status
Dieser Befehl zeigt, welche Dateien geändert, neu, gelöscht oder bereits zum Commit vorgemerkt sind. Er ist einer der wichtigsten Git-Befehle überhaupt und sollte regelmäßig verwendet werden.
git diff
Mit git diff siehst du konkrete Änderungen in Dateien. So kannst du vor einem Commit prüfen, ob wirklich nur die gewünschten Anpassungen enthalten sind.
git add dateiname.html
git add .
Mit git add werden Änderungen in die Staging Area übernommen. git add . fügt alle aktuellen Änderungen hinzu. Das ist bequem, sollte aber bewusst eingesetzt werden, damit keine temporären Dateien oder versehentlichen Änderungen im Commit landen.
git commit -m "Fix navigation links"
Ein Commit sollte möglichst eine abgeschlossene, verständliche Änderung enthalten. Statt viele unterschiedliche Anpassungen in einem riesigen Commit zu sammeln, ist es oft besser, mehrere kleinere Commits zu erstellen.
git log
git log --oneline
Die Historie zeigt ältere Commits. Besonders praktisch ist git log --oneline, weil jeder Commit kompakt in einer Zeile dargestellt wird.
git fetch
git pull
git fetch lädt Informationen vom entfernten Repository, ändert aber deinen aktuellen Arbeitsstand noch nicht. git pull lädt Änderungen und integriert sie direkt in deinen Branch. In Teams ist es sinnvoll, vor neuen Arbeiten regelmäßig den aktuellen Stand zu holen.
git push
Mit git push werden lokale Commits auf ein entferntes Repository übertragen, zum Beispiel auf GitHub, GitLab, Bitbucket oder einen eigenen Git-Server.
Branches sind eines der wichtigsten Konzepte in Git. Ein Branch ist ein Entwicklungszweig. Er zeigt auf einen bestimmten Commit und bewegt sich weiter, wenn neue Commits auf diesem Branch entstehen. Dadurch kannst du mehrere Entwicklungsstände parallel verwalten.
Ein typisches Beispiel:
Branches machen Git besonders flexibel. Du kannst neue Funktionen entwickeln, ohne den stabilen Projektstand zu gefährden. Außerdem kann jeder Entwickler an einem eigenen Thema arbeiten, ohne anderen ständig in die Quere zu kommen.
In vielen neueren Projekten heißt der Hauptbranch heute main. In vielen bestehenden Projekten, älteren Repositories und Windows-Workflows wird aber weiterhin master verwendet. Dieser Artikel bezieht sich deshalb bewusst auf den master Branch.
Der master Branch sollte in vielen Projekten den stabilen oder zumindest zentralen Entwicklungsstand enthalten. Das bedeutet: Nicht jede spontane Änderung gehört direkt auf master. Besonders bei größeren Projekten ist es sinnvoll, neue Funktionen oder riskante Anpassungen zunächst in einem separaten Branch zu entwickeln.
Für kleine Einzelprojekte kann man natürlich direkt auf master arbeiten. Trotzdem ist es auch dort oft sinnvoll, größere Umbauten in einem separaten Branch vorzubereiten. Gerade bei Webseiten, Tools oder Scripts verhindert das, dass ein halb fertiger Zwischenstand versehentlich veröffentlicht wird.
Wer eigene Webprojekte betreut, kann Git sehr gut mit anderen Entwicklungsthemen kombinieren. Passend dazu sind beispielsweise die Andinet-Artikel über AJAX und JavaScript im Web, Website-Geschwindigkeit mit Apache Benchmark und WGET zum Herunterladen ganzer Websites.
TortoiseGit ist ein beliebtes Git-Werkzeug für Windows. Es integriert sich direkt in den Windows Explorer. Dadurch kannst du viele Git-Aktionen per Rechtsklick ausführen, ohne ständig die Kommandozeile zu öffnen. Besonders für Entwickler, die gerne visuell arbeiten oder häufig Dateien im Explorer verwalten, ist TortoiseGit sehr praktisch.
Typische Vorteile von TortoiseGit:
Gerade unter Windows ist TortoiseGit eine gute Ergänzung zur Kommandozeile. Viele Aktionen lassen sich grafisch besser überblicken, während die Git-Befehle im Hintergrund trotzdem die gleiche Logik verwenden.
Für effizientes Arbeiten unter Windows lohnt sich außerdem ein Blick auf praktische Tastenkombinationen für Windows. Wer regelmäßig mit Shell, Servern oder Linux-Systemen arbeitet, findet zusätzlich eine hilfreiche Sammlung mit nützlichen Linux-Befehlen und Kommandos.
Viele entscheidende Git-Aktionen findest du in TortoiseGit direkt über den Rechtsklick auf einen Ordner, eine Datei oder einen Commit in der Log-Ansicht. Besonders wichtig ist die Log-Ansicht, weil du dort die Commit-Historie sehen und auf einzelne Commits gezielte Aktionen anwenden kannst.
Merge to master bedeutet, dass Änderungen aus einem anderen Branch in den master Branch übernommen werden. Das ist ein typischer Schritt, wenn eine Funktion fertig entwickelt und getestet wurde.
Ein praktischer Ablauf sieht so aus:
Der Merge erzeugt je nach Situation entweder einen neuen Merge-Commit oder übernimmt die Commits direkt, wenn ein Fast-Forward möglich ist. Wichtig ist: Vor einem Merge in master sollte der Arbeitsstand sauber sein. Offene, nicht gespeicherte Änderungen können den Vorgang unnötig kompliziert machen.
Reset master to this setzt den master Branch auf einen bestimmten Commit zurück. Diese Funktion ist mächtig und sollte vorsichtig verwendet werden, weil sie den Branch-Zeiger verändert. Je nach Reset-Art kann das nur die Branch-Position betreffen oder auch Dateien im Working Tree verändern.
Es gibt verschiedene Reset-Varianten:
Ein Hard Reset kann sinnvoll sein, wenn du sicher zu einem älteren sauberen Stand zurückkehren möchtest. Er ist aber riskant, wenn noch ungesicherte Arbeit vorhanden ist. Vor einem Reset sollte man deshalb genau prüfen, ob wichtige Änderungen bereits committed oder anderweitig gesichert wurden.
Switch/Checkout to this bedeutet, dass du zu einem bestimmten Branch, Tag oder Commit wechselst. In TortoiseGit kannst du damit einen anderen Entwicklungsstand auschecken und die Dateien im Working Tree entsprechend anpassen lassen.
Das ist nützlich, wenn du:
Wenn du direkt auf einen einzelnen Commit oder Tag wechselst, befindest du dich häufig in einem sogenannten detached HEAD Zustand. Das bedeutet, dass du nicht auf einem normalen Branch arbeitest. Du kannst den Stand ansehen oder testen, solltest dort aber nicht unbedacht weiterentwickeln. Wenn du auf Basis dieses Stands weiterarbeiten möchtest, ist ein neuer Branch sinnvoll.
Rebase master onto this verschiebt die Commits des master Branches so, als wären sie auf Basis eines anderen Commits entstanden. Rebase kann die Historie sauberer und linearer machen, ist aber anspruchsvoller als ein normaler Merge.
Vereinfacht gesagt schreibt Rebase Commit-Historie um. Das kann hilfreich sein, wenn du lokale Änderungen auf einen neueren Stand setzen möchtest oder eine übersichtliche Historie ohne zusätzliche Merge-Commits bevorzugst.
Wichtig ist jedoch: Rebase sollte mit Vorsicht verwendet werden, besonders bei Branches, die bereits mit anderen geteilt wurden. Wenn mehrere Entwickler denselben Branch verwenden und einer davon die Historie per Rebase verändert, kann das zu Verwirrung und Konflikten führen.
Revert changes by this commit macht die Änderungen eines bestimmten Commits rückgängig, ohne die bestehende Historie zu löschen. Git erstellt dabei einen neuen Commit, der die Änderungen des ausgewählten Commits umkehrt.
Das ist besonders sicher und teamfreundlich. Im Gegensatz zu Reset wird die Historie nicht zurückgeschrieben. Alle sehen weiterhin, dass der ursprüngliche Commit existierte und dass später ein Revert durchgeführt wurde.
Revert eignet sich sehr gut, wenn:
Cherry pick this commit übernimmt einen einzelnen Commit aus einem anderen Branch in den aktuellen Branch. Das ist nützlich, wenn du nicht den gesamten Branch mergen möchtest, sondern nur eine bestimmte Änderung brauchst.
Beispiel: In einem Feature-Branch wurden fünf Commits erstellt. Einer davon behebt zufällig einen wichtigen Fehler, der sofort in master benötigt wird. Mit Cherry Pick kannst du genau diesen einen Commit übernehmen, ohne die restlichen unfertigen Feature-Änderungen zu mergen.
Cherry Pick ist praktisch, sollte aber nicht wahllos eingesetzt werden. Wenn dieselben Änderungen später zusätzlich per Merge übernommen werden, kann die Historie unübersichtlich werden oder es können Konflikte entstehen. Deshalb sollte man bewusst dokumentieren, warum ein Commit einzeln übernommen wurde.
In TortoiseGit sieht man häufig Funktionen wie Create branch at this version und Create tag at this version. Beide beziehen sich auf einen bestimmten Commit, haben aber unterschiedliche Bedeutungen.
Ein Branch ist ein beweglicher Entwicklungszweig. Wenn du einen Branch an einer bestimmten Version erstellst, kannst du von genau diesem Stand aus weiterarbeiten. Neue Commits bewegen den Branch weiter.
Das ist sinnvoll, wenn du:
Ein Branch ist also für aktive Entwicklung gedacht.
Ein Tag ist eine Markierung für einen bestimmten Commit. Tags werden häufig verwendet, um Versionen oder Releases zu kennzeichnen, zum Beispiel v1.0, v1.1 oder release-2026-06.
Ein Tag sollte im Normalfall nicht ständig weiterwandern. Er markiert einen festen Stand. Dadurch kannst du später leicht nachvollziehen, welcher Commit zu einer veröffentlichten Version gehörte.
Ein Tag ist sinnvoll, wenn du:
Branch bedeutet: Hier soll weiterentwickelt werden. Tag bedeutet: Dieser Stand soll dauerhaft markiert werden.
Wenn du also eine alte Version nur kennzeichnen möchtest, nimm einen Tag. Wenn du von dieser alten Version aus weiterarbeiten möchtest, nimm einen Branch.
Viele Git-Probleme entstehen, weil ähnliche Funktionen verwechselt werden. Besonders Merge, Rebase, Reset, Revert und Cherry Pick greifen alle in die Historie oder den Arbeitsstand ein, verfolgen aber unterschiedliche Ziele.
| Funktion | Zweck | Typischer Einsatz |
|---|---|---|
| Merge | Branch zusammenführen | Feature-Branch in master übernehmen |
| Rebase | Commits auf neue Basis setzen | Historie linear halten oder lokalen Branch aktualisieren |
| Reset | Branch-Zeiger zurücksetzen | Lokale Historie korrigieren oder Stand zurückdrehen |
| Revert | Änderung durch neuen Commit rückgängig machen | Fehlerhaften veröffentlichten Commit sicher zurücknehmen |
| Cherry Pick | Einzelnen Commit übernehmen | Bugfix aus anderem Branch gezielt nach master holen |
Als einfache Faustregel gilt: Für veröffentlichte oder gemeinsam genutzte Branches ist Revert häufig sicherer als Reset. Für normale Feature-Integration ist Merge verständlicher als Rebase. Cherry Pick ist sinnvoll für Einzelfälle, sollte aber nicht zum Standard-Ersatz für saubere Branch-Strukturen werden.
Ein sauberer Git-Workflow muss nicht kompliziert sein. Für viele kleine und mittlere Projekte reicht ein übersichtlicher Ablauf völlig aus.
git checkout master
git pull
Zuerst wechselst du auf master und holst den aktuellen Stand vom Server. Damit vermeidest du, auf veralteter Basis zu arbeiten.
git checkout -b feature-contact-form
Für eine neue Funktion wird ein eigener Branch erstellt. Der Name sollte verständlich sein, zum Beispiel feature-contact-form, bugfix-login-error oder refactor-navigation.
git status
git add .
git commit -m "Add contact form validation"
Während der Entwicklung werden sinnvolle Commits erstellt. Jeder Commit sollte eine nachvollziehbare Änderung enthalten.
Vor dem Merge sollten Tests durchgeführt werden. Bei Webprojekten kann das bedeuten: Seite im Browser prüfen, Formular testen, Responsivität kontrollieren, Fehlermeldungen ansehen und relevante Log-Dateien prüfen.
git checkout master
git pull
git merge feature-contact-form
Nach erfolgreichem Test wird der Branch in master übernommen. Danach kann der master Branch erneut getestet und anschließend gepusht werden.
git push
Mit Push wird der neue master-Stand auf das entfernte Repository übertragen.
Ein Merge-Konflikt entsteht, wenn Git Änderungen nicht automatisch zusammenführen kann. Das passiert zum Beispiel, wenn zwei Branches dieselbe Zeile in derselben Datei unterschiedlich verändert haben.
Ein Konflikt ist kein Fehler im dramatischen Sinn, sondern eine Entscheidung, die Git nicht alleine treffen kann. Du musst prüfen, welche Version korrekt ist oder ob beide Änderungen kombiniert werden müssen.
<<<<<<< HEAD
Current version
=======
Incoming version
>>>>>>> feature-branch
Der Bereich oberhalb von ======= zeigt meist die aktuelle Version, der Bereich darunter die eingehende Änderung. Nach dem Bearbeiten müssen die Marker entfernt und die Datei erneut als gelöst markiert werden.
TortoiseGit bietet grafische Werkzeuge, um Konflikte übersichtlicher zu lösen. Trotzdem sollte man verstehen, was inhaltlich passiert. Das beste Tool hilft wenig, wenn man versehentlich die falsche Variante übernimmt.
Gute Commit-Nachrichten sind ein oft unterschätzter Produktivitätsfaktor. Sie helfen dir selbst, Kollegen und späteren Projektbetreuern zu verstehen, warum eine Änderung gemacht wurde.
Schlechte Commit-Nachrichten sind zum Beispiel:
Besser sind konkrete Nachrichten:
Eine gute Commit-Nachricht beschreibt kurz, was sich geändert hat. Bei komplexeren Änderungen kann zusätzlich im längeren Beschreibungstext stehen, warum die Änderung notwendig war.
Nicht jede Datei eines Projekts sollte in Git gespeichert werden. Temporäre Dateien, lokale Konfigurationen, Zugangsdaten, Cache-Dateien oder automatisch erzeugte Build-Dateien gehören meist nicht in die Versionskontrolle.
Dafür gibt es die Datei .gitignore. Sie legt fest, welche Dateien Git ignorieren soll.
*.log
*.tmp
/cache/
/node_modules/
/vendor/
.env
.DS_Store
Thumbs.db
Besonders wichtig: Zugangsdaten, API-Schlüssel, Passwörter und private Konfigurationsdateien sollten nicht ins Repository gelangen. Wurden sensible Daten versehentlich committed und gepusht, reicht ein einfaches Löschen in einem späteren Commit oft nicht aus, weil die Daten weiterhin in der Git-Historie vorhanden sein können.
Gerade bei Projekten mit KI-Schnittstellen, APIs oder Automatisierung ist ein bewusster Umgang mit Zugangsdaten wichtig. Passend dazu findest du auf Andinet weitere Grundlagen zu Künstlicher Intelligenz und modernen KI-Anwendungen sowie einen Überblick über nützliche KI-Tools.
Ein lokales Git-Repository ist bereits nützlich. Noch stärker wird Git aber mit einem entfernten Repository. Dieses Remote-Repository kann auf GitHub, GitLab, Bitbucket, einem Firmenserver oder einem eigenen Git-Server liegen.
Das Remote-Repository dient als zentrale Ablage. Es ermöglicht Backups, Teamarbeit, Code Reviews, automatisierte Tests und Deployments. Typische Remote-Befehle sind:
git remote -v
git fetch
git pull
git push
Mit git remote -v siehst du, welche Remote-Adressen eingerichtet sind. git push überträgt deine lokalen Commits zum Remote. git pull holt Änderungen und integriert sie in deinen aktuellen Branch.
Bei Teamprojekten sollte man nicht einfach ungeprüft direkt auf master pushen. Häufig wird mit Pull Requests oder Merge Requests gearbeitet. Dabei werden Änderungen zunächst überprüft, kommentiert und erst danach in den Hauptbranch übernommen.
Tags sind besonders nützlich, wenn du bestimmte Projektstände dauerhaft markieren möchtest. Ein typischer Einsatz sind Software-Releases, Website-Versionen, Kundenstände oder Meilensteine.
git tag v1.0.0
git push origin v1.0.0
Ein Tag wie v1.0.0 zeigt später exakt auf den Commit, der zu dieser Version gehörte. Dadurch kannst du jederzeit herausfinden, welcher Code veröffentlicht wurde.
Für professionelle Projekte ist eine klare Versionierung hilfreich. Häufig wird eine Form der semantischen Versionierung verwendet:
Tags helfen auch beim Deployment. Wenn ein Release fehlerhaft ist, lässt sich einfacher nachvollziehen, welcher Stand betroffen war und welche Änderungen seitdem hinzugekommen sind.
Git kann über die Kommandozeile, über TortoiseGit, über Entwicklungsumgebungen oder über Weboberflächen genutzt werden. Viele moderne Editoren und IDEs bieten integrierte Git-Funktionen. Trotzdem ist es sinnvoll, die Grundkonzepte unabhängig vom Tool zu verstehen.
Typische Arbeitsumgebungen sind:
Für Einsteiger kann TortoiseGit den Start erleichtern, weil viele Funktionen visuell dargestellt werden. Für fortgeschrittene Entwickler bleibt die Kommandozeile wichtig, weil sie präzise, schnell und gut automatisierbar ist.
Wenn du eigene Software nicht nur entwickeln, sondern später auch veröffentlichen oder vermarkten möchtest, kann der Andinet-Artikel eigene Software und Apps erfolgreich verkaufen ein passender nächster Schritt sein.
Git ist sehr mächtig, aber genau deshalb können falsche Aktionen unangenehme Folgen haben. Viele Probleme lassen sich vermeiden, wenn man einige Grundregeln beachtet.
Wer große Umbauten direkt auf master macht, riskiert einen instabilen Hauptstand. Besser ist ein eigener Branch für Experimente, Refactorings oder neue Funktionen.
Ein Commit sollte nicht mehrere unabhängige Themen vermischen. Wenn in einem Commit gleichzeitig Layout, Datenbank, API, Texte und Konfiguration geändert werden, ist später schwer zu erkennen, welche Änderung ein Problem verursacht hat.
Passwörter, Tokens, private Schlüssel und Zugangsdaten gehören nicht ins Repository. Nutze lokale Konfigurationsdateien, Umgebungsvariablen und eine passende .gitignore-Datei.
Ein Hard Reset kann lokale Änderungen löschen. Vor riskanten Aktionen ist ein zusätzlicher Branch oder ein temporärer Commit oft die bessere Wahl.
Rebase kann sinnvoll sein, sollte aber nicht leichtfertig auf Branches angewendet werden, die andere Entwickler bereits nutzen. Das Umschreiben der Historie kann sonst zu unnötigen Problemen führen.
Konflikte sollten inhaltlich verstanden werden. Einfach eine Seite komplett zu übernehmen, kann wichtige Änderungen löschen.
Diese kurze Checkliste hilft, typische Git-Aufgaben sauber und sicher zu erledigen:

Gerade in TortoiseGit stehen viele Funktionen direkt im Kontextmenü bereit. Die folgende Einordnung hilft bei der Entscheidung:
| Situation | Empfohlene Funktion | Warum? |
|---|---|---|
| Neue Funktion entwickeln | Create branch | Die Arbeit bleibt vom stabilen master getrennt. |
| Fertige Funktion übernehmen | Merge to master | Der Feature-Branch wird sauber in master integriert. |
| Alte Version markieren | Create tag at this version | Der Stand bleibt dauerhaft als Version erkennbar. |
| Ab alter Version weiterentwickeln | Create branch at this version | Du kannst von diesem Commit aus neue Änderungen erstellen. |
| Veröffentlichten Fehler rückgängig machen | Revert changes by this commit | Die Historie bleibt nachvollziehbar und teamfreundlich. |
| Lokalen Stand komplett zurücksetzen | Reset master to this | Sinnvoll bei lokalen Korrekturen, aber mit Vorsicht. |
| Einzelnen Bugfix übernehmen | Cherry pick this commit | Nur ein bestimmter Commit wird in den aktuellen Branch übernommen. |
| Lineare Historie erzeugen | Rebase master onto this | Commits werden auf eine neue Basis gesetzt. |
Die wichtigste Regel lautet: Erst verstehen, dann klicken. Viele TortoiseGit-Funktionen sind sehr mächtig. Gerade Reset und Rebase sollten nicht aus Gewohnheit verwendet werden, sondern nur, wenn klar ist, was mit der Historie passiert.
Git wirkt am Anfang oft kompliziert, weil viele Begriffe und Funktionen gleichzeitig auftauchen. Im Kern geht es aber um eine einfache Idee: Änderungen werden nachvollziehbar gespeichert, Entwicklungsstände können verzweigt werden und wichtige Versionen lassen sich jederzeit wiederfinden.
Für den Entwickler-Alltag sind vor allem die Grundlagen entscheidend: Working Tree, Staging Area, Commit, Branch, Merge, Revert, Reset, Rebase, Cherry Pick und Tag. Wer diese Konzepte versteht, kann sowohl mit der Kommandozeile als auch mit TortoiseGit deutlich sicherer arbeiten.
Besonders beim Arbeiten mit dem master Branch lohnt sich Disziplin. Neue Funktionen gehören besser in eigene Branches, fertige Änderungen werden gezielt gemerged und veröffentlichte Fehler werden möglichst nachvollziehbar per Revert korrigiert. Tags markieren stabile Versionen, während Branches neue Entwicklung ermöglichen.
Die wichtigste Empfehlung: Nutze Git nicht nur als Speicherknopf, sondern als Entwicklungswerkzeug. Kleine Commits, klare Branches, gute Nachrichten und bewusst eingesetzte TortoiseGit-Funktionen machen Projekte langfristig übersichtlicher, sicherer und professioneller.
Weitere passende Inhalte findest du in den Andinet-Bereichen Programmierung und Softwareentwicklung, nützliche Downloads und Tools sowie KI für Entwickler und moderne Entwicklungsworkflows.