Spickzettel für Git-Befehle: Die Befehle, die Sie tatsächlich verwenden, mit Beispielen
Eine praktische Git-Referenz, gruppiert nach dem, was Sie tun möchten, vom ersten Commit bis zum Rückgängigmachen eines Fehlers. Halten Sie es während der Arbeit geöffnet und verwenden Sie die Rückgängig-Anleitung, bevor Sie zu etwas Gefährlichem greifen.
- Eine Änderung durchläuft drei Bereiche: Arbeitsverzeichnis, Staging-Bereich und Repository.
git statusist der sicherste Befehl, den Sie haben, also führen Sie ihn ständig aus.- Verwenden Sie
git revert, um gemeinsame Commits rückgängig zu machen, und behalten Siegit reset --hardfür lokale Arbeiten bei, bei denen Sie sicher sind. git reflogkann normalerweise Commits retten, die Sie für verloren gehalten haben.
Niemand merkt sich jeden Git-Befehl, und das ist auch nicht nötig. Dieser Git-Befehls-Spickzettel konzentriert sich auf den kleinen Satz, der fast alle täglichen Arbeiten abdeckt, gruppiert nach der Aufgabe, die Sie ausführen möchten.
Wir haben die lokalen Befehle in einem Wegwerf-Demo-Repository mit Git für Windows getestet und die angezeigte Ausgabe stammt von diesem Lauf, wobei die Warnungen am Zeilenende entfernt wurden. Ihre Commit-Hashes werden unterschiedlich sein. Die Remote-Befehle benötigen einen Server, daher haben wir diese nicht ausgeführt. Neu in der Versionskontrolle? Beginnen Sie mit unserem Git-Tutorial für Anfänger.
Wie Git denkt: drei Bereiche
Die meiste Verwirrung verschwindet, sobald Sie wissen, wo eine Veränderung stattfindet:
| Bereich | Was es enthält | Bin dorthin umgezogen |
|---|---|---|
| Arbeitsverzeichnis | Ihre Dateien, während Sie sie bearbeiten | Bearbeiten |
| Bereitstellungsbereich (Index) | Für den nächsten Commit ausgewählte Änderungen | Git hinzufügen |
| Lokales Repository | Ihr gespeicherter Commit-Verlauf | Git-Commit |
| Remote-Repository | Die freigegebene Kopie, beispielsweise auf GitHub | Git Push |
Einrichten und Starten eines Projekts
| Befehl | Was es bewirkt |
|---|---|
git config --global user.name „Asha“ |
Legt Ihren Namen für Commits fest |
git config --global user.email „a@b.com“ |
Legt Ihre E-Mail-Adresse für Commits fest |
git config --global init.defaultBranch main |
Benennt neue Standardzweige main |
git init |
Erstellt ein Repository im aktuellen Ordner |
Git-Klon <URL> |
Lädt ein vorhandenes Repository herunter |
git config --list |
Zeigt Ihre aktuellen Einstellungen an |
Speichern Sie Ihre Arbeit
| Befehl | Was es bewirkt |
|---|---|
Git-Status |
Zeigt, was sich geändert hat |
git fügt file.txt hinzu |
Stellt eine Datei bereit |
git add . |
Stellt alle Änderungen in diesem Ordner bereit |
git add -p |
Stellt ausgewählte Teile einer Datei bereit |
git diff |
Zeigt nicht bereitgestellte Änderungen an |
git diff --staged |
Zeigt, was begangen wird |
git commit -m „Nachricht“ |
Speichert bereitgestellte Änderungen als Commit |
git commit -am „Nachricht“ |
Stellt verfolgte Dateien bereit und schreibt sie fest |
So ändert sich die kurze Statusansicht, wenn eine neue Datei verschoben wird:
$ echo "hello" > app.txt
$ git status --short
?? app.txt
$ git add app.txt
$ git status --short
A app.txt
$ git commit -m "Add app file"
?? bedeutet nicht verfolgt und A bedeutet zum Staging hinzugefügt. Im zweispaltigen Format ist die linke Spalte der Staging-Bereich und die rechte Spalte Ihr Arbeitsverzeichnis. Beachten Sie, dass git commit -am brandneue Dateien überspringt, Sie müssen diese also zuerst explizit hinzufügen.
Zweige
| Befehl | Was es bewirkt |
|---|---|
Git-Zweig |
Listet lokale Niederlassungen auf |
git branch -a |
Beinhaltet Remote-Filialen |
Git-Switch-Funktion/Login |
Wechselt zu einer Verzweigung |
git switch -c feature/login |
Erstellt einen Zweig und wechselt dorthin |
Git-Merge-Funktion/Login |
Führt diesen Zweig mit dem aktuellen zusammen |
Git Rebase Main |
Spielt Ihre Commits zusätzlich zu main ab |
git branch -d feature/login |
Löscht einen zusammengeführten Zweig |
git branch -D Feature/Login |
Force löscht einen nicht zusammengeführten Zweig |
Hier ist ein kleiner Funktionszweig von Anfang bis Ende:
$ git switch -c feature/login
$ echo "login" >> app.txt
$ git commit -am "Add login"
$ git switch main
$ git merge --no-edit feature/login
$ git log --oneline --graph
* d0450b6 Add login
* 676b684 Add app file
$ git branch -d feature/login
Deleted branch feature/login (was d0450b6).
Der Verlauf ist eine gerade Linie, da main nicht verschoben wurde, sodass Git eine Zusammenführung im Schnellvorlauf durchführte. In älteren Handbüchern wird git checkout noch angezeigt. Es funktioniert, aber die neueren Befehle switch und restore teilen die vielen Aufgaben in klarere Aufgaben auf. Um zwischen Merging und Rebasing zu wählen, lesen Sie Git Merge vs. Rebase.
Arbeiten mit Fernbedienungen
| Befehl | Was es bewirkt |
|---|---|
git remote -v |
Listet Fernbedienungen und ihre URLs auf |
git remote add origin <url> |
Verbindet eine Fernbedienung |
git fetch |
Lädt Änderungen ohne Zusammenführung herunter |
Git Pull |
Ruft ab und integriert sich dann in Ihren Zweig |
Git Push |
Lädt Ihre Commits hoch |
git push -u origin feature/login |
Schiebt einen neuen Zweig und verfolgt ihn |
git push origin --delete feature/login |
Löscht einen Remotezweig |
git push --force-with-lease |
Force drängt, aber nur, wenn niemand sonst gedrängt hat |
fetch ist immer sicher, da Ihre Dateien nie verändert werden. Wenn Sie einen Zweig nach einem Rebase überschreiben müssen, bevorzugen Sie --force-with-lease gegenüber einfach --force, da es sich weigert, die neuen Commits eines Kollegen zu löschen.
Vorrat: Arbeit beiseite legen
Stash ist nützlich, wenn Sie Aufgaben wechseln müssen, aber nicht bereit sind, Folgendes zu übernehmen:
$ echo "wip" >> app.txt
$ git stash
$ git status --short
# clean, the change is put away
$ git stash pop
$ git status --short
M app.txt
| Befehl | Was es bewirkt |
|---|---|
Git Stash |
Speichert Änderungen und bereinigt Ihr Arbeitsverzeichnis |
git stash -u |
Enthält nicht verfolgte Dateien |
Git-Stash-Liste |
Zeigt gespeicherte Stashes an |
Git Stash Pop |
Stellt den neuesten Stash wieder her und entfernt ihn |
Git Stash anwenden |
Stellt es wieder her, behält es aber gespeichert |
Verlauf anzeigen
| Befehl | Was es bewirkt |
|---|---|
git log --oneline |
Zeigt eine Zeile pro Commit an |
git log --oneline --graph --all |
Zeichnet alle Zweige |
git log -p file.txt |
Zeigt die Änderungen einer Datei im Laufe der Zeit an |
git show <Hash> |
Zeigt einen Commit im Detail |
Git-Schulddatei.txt |
Zeigt an, wer die jeweilige Zeile zuletzt geändert hat |
git reflog |
Zeigt sich überall, wo HEAD war |
git halbieren |
Binär sucht nach dem Commit, der einen Fehler hinzugefügt hat |
Fehler rückgängig machen: „Ich möchte…“
Dies ist der Teil, den die meisten Leute nachschlagen. Finden Sie Ihre Situation:
| Situation | Befehl |
|---|---|
| Nicht bereitgestellte Änderungen in einer Datei verwerfen | Git-Datei.txt wiederherstellen |
| Heben Sie die Bereitstellung einer Datei auf, behalten Sie jedoch die Änderungen bei | Git Restore --staged file.txt |
| Korrigieren Sie die Nachricht oder Dateien des letzten Commits | git commit --amend |
| Machen Sie den letzten Commit rückgängig und behalten Sie die Änderungen bei | git reset --soft HEAD~1 |
| Machen Sie den letzten Commit rückgängig und lassen Sie die Änderungen unverändert | git reset HEAD~1 |
| Machen Sie einen Push-Commit sicher rückgängig | git revert <Hash> |
| Werfen Sie alle lokalen Änderungen weg | git reset --hard |
| Entfernen Sie nicht verfolgte Dateien | git clean -fd (Vorschau mit -n) |
| Stellen Sie einen „verlorenen“ Commit wieder her | git reflog, dann git branch rescue <hash> |
Tipp: Bevor Sie etwas riskantes unternehmen, führen Sie git branch backup aus. Es kostet nichts und gibt Ihnen ein Etikett, an das Sie zurücksenden können. git reset --hard und git clean können nicht festgeschriebene Arbeit dauerhaft zerstören, die selbst reflog nicht wiederherstellen kann.
Zurücksetzen vs. Zurücksetzen vs. Wiederherstellen
Diese drei Namen sorgen für große Verwirrung, bewirken aber ganz unterschiedliche Dinge:
| Befehl | Wirkt weiter | Ändert sich die Geschichte? | Sicher in gemeinsam genutzten Zweigen? |
|---|---|---|---|
Git-Wiederherstellung |
Dateien | Nein | Ja, aber lokale Änderungen werden verworfen |
Git zurücksetzen |
Ein Commit, indem es sein Gegenteil hinzufügt | Fügt hinzu | Ja |
Git zurückgesetzt |
Der Verzweigungszeiger | Schreibt es um | Nein |
In unserer Demo haben wir eine fehlerhafte Zeile begangen und sie rückgängig gemacht. Die Datei wurde auf ihren früheren Inhalt zurückgesetzt, während der Fehler im Protokoll als Verlauf sichtbar blieb:
$ echo "oops" >> app.txt
$ git commit -am "Bad change"
$ git revert --no-edit HEAD
$ cat app.txt
hello
login
Dann entfernte git reset --soft HEAD~1 das letzte Commit, behielt aber seine Änderungen bei, was git status --short als M app.txt anzeigte.
Schlagworte
| Befehl | Was es bewirkt |
|---|---|
Git-Tag |
Listet Tags auf |
Git-Tag v1.0 |
Erstellt ein Lightweight-Tag |
git tag -a v1.0 -m „Release“ |
Erstellt ein mit Anmerkungen versehenes Tag, am besten für Veröffentlichungen |
Git Push Origin v1.0 |
Pusht ein Tag (Tags werden standardmäßig nicht gepusht) |
Tags lösen häufig Release-Pipelines aus, wie unser GitHub Actions CI/CD-Leitfaden erklärt.
Ein einfacher täglicher Arbeitsablauf
git switch main
git pull
git switch -c feature/search
# edit files
git status
git add -p
git commit -m "Add search by product name"
git push -u origin feature/search
# open a pull request, get a review, then merge
Schreiben Sie Commit-Nachrichten, die die Änderung im Imperativ erläutern, z. B. „Login-Umleitung beheben“. Sie werden es sich danken, wenn Sie das Protokoll in sechs Monaten lesen.
Häufige Fehler
- Geheimnisse festschreiben. Durch das Entfernen einer Datei in einem späteren Festschreiben wird sie nicht aus dem Verlauf entfernt. Drehen Sie das Geheimnis sofort um und verwenden Sie
.gitignore. - Gemeinsamen Verlauf neu schreiben. Commits, die andere bereits abgerufen haben, nicht zurücksetzen oder neu festlegen.
git add .blind verwenden. Überprüfen Sie zuerstgit status, damit Build-Dateien und Protokolle draußen bleiben.- Verwenden Sie einfach
--force. Bevorzugen Sie--force-with-lease. - Große Verpflichtungen eingehen. Kleinere Verpflichtungen lassen sich leichter überprüfen, rückgängig machen und halbieren.
Fazit
Lernen Sie die drei Bereiche und ein Dutzend Befehle, und Git hört auf, Ihnen Angst zu machen. Halten Sie den Undo-Tisch bereit und denken Sie daran, dass git status und git reflog Ihr Sicherheitsnetz sind. Um Vertrauen aufzubauen, erstellen Sie ein Wegwerf-Repository und zerstören und reparieren es absichtlich, da dies der billigste Ort ist, um Fehler zu machen.
Häufige Fragen
Was sind die am häufigsten verwendeten Git-Befehle?
Der alltägliche Satz besteht aus Git-Status, Hinzufügen, Festschreiben, Drücken, Ziehen, Wechseln, Verzweigen, Zusammenführen und Protokollieren. Diese wenigen Befehle decken den größten Teil eines typischen Arbeitstages ab.
Wie mache ich mein letztes Commit in Git rückgängig?
Wenn es lokal ist, verwenden Sie git reset –soft HEAD~1, um die Änderungen im Staging zu halten. Wenn Sie es bereits gepusht haben, verwenden Sie git revert, damit der Verlauf für andere intakt bleibt.
Was ist der Unterschied zwischen Git Fetch und Git Pull?
Git Fetch lädt nur neue Daten herunter und lässt Ihre Dateien in Ruhe. git pull ruft diese Änderungen ab und führt sie dann in Ihrem aktuellen Zweig zusammen oder führt ein Rebasing durch.
Was ist der Unterschied zwischen Git-Reset und Git-Revert?
git reset verschiebt den Verzweigungszeiger und kann den Verlauf neu schreiben. git revert fügt einen neuen Commit hinzu, der einen früheren Commit rückgängig macht, was die Sicherheit in gemeinsam genutzten Branches gewährleistet.
Kann ich einen gelöschten Zweig in Git wiederherstellen?
Normalerweise ja. Suchen Sie mit git reflog nach dem letzten Commit und erstellen Sie dann den Branch mit dem Git-Branch-Namen gefolgt vom Hash neu, sofern Git ihn noch nicht bereinigt hat.
Lerne weiter
Benötigen Sie Hilfe beim Testen, WordPress oder SEO?
Wir helfen Teams, bessere Software zu liefern und ihre Websites zu erweitern. Sagen Sie uns, woran Sie gerade arbeiten, und wir schlagen Ihnen einen klaren nächsten Schritt vor.
Weitere Anleitungen finden Sie unter Tests, KI und moderne Entwicklung
Hat Ihnen dieser Artikel gefallen? Wählen Sie ein Thema und springen Sie direkt in unsere neuesten Tutorials.
KI-Halluzinationen erklärt: Warum Sprachmodelle Dinge erfinden und wie man sie reduziert
KI-Halluzinationen erklärt: Was sie sind, warum Sprachmodelle sie produzieren, gängige Typen, wie man sie mit Erdung und Eingabeaufforderungen reduz…
Artikel lesen →DevOpsErklärte Umgebungsvariablen: .env-Dateien, Geheimnisse und Konfiguration richtig gemacht
Umgebungsvariablen anhand von Python-Beispielen erklärt, die wir ausgeführt haben: Sie lesen und festlegen, warum jeder Wert ein String ist, .env-Da…
Artikel lesen →SoftwareentwicklungAPI-Ratenbegrenzung erklärt: Algorithmen, Header und Behandlung von 429-Fehlern
API-Ratenbegrenzung anhand einer von uns durchgeführten Simulation erklärt: Token-Bucket, festes Fenster, gleitendes Fenster, 429 Antworten, Ratenbe…
Artikel lesen →TestautomatisierungSpott in Python: unittest.mock, Patch und die Fehler, die Tests zum Lügen machen
Mocking in Python mit unittest.mock, getestet: Mock und return_value, side_effect, Patchen, wo ein Name verwendet wird, Spezifikation und Autospec, …
Artikel lesen →SoftwaretestsCode-Abdeckung erklärt: Leitungs- und Zweigstellenabdeckung und was 100 % wirklich bedeutet
Erklärung der Codeabdeckung anhand eines echten Coverage.py-Laufs: Zeilen-, Zweig- und Bedingungsabdeckung, Lesen eines Berichts, warum bei 100 % Ab…
Artikel lesen →Datenbanken & SQLDELETE vs. TRUNCATE vs. DROP in SQL: Unterschiede, Rollback und Verwendungszweck
DELETE vs. TRUNCATE vs. DROP erklärt mit getestetem SQL: was jeweils entfernt wird, Rollback, Trigger, Identitätsrücksetzung, Geschwindigkeit und wi…
Artikel lesen →Datenbanken & SQLErklärte SQL-Ansichten: Erstellen, nutzen und vermeiden Sie Fallstricke mit Beispielen
SQL-Ansichten anhand der von uns ausgeführten Abfragen erklärt: Erstellen einer Ansicht, Live-Ergebnisse, Ausblenden von Spalten, Leistung, aktualis…
Artikel lesen →SoftwareentwicklungTypeScript-Schnittstelle vs. Typ: Echte Unterschiede, getestet mit dem Compiler
TypeScript-Schnittstelle vs. Typ, überprüft mit dem echten Compiler: Was beide können, was nur einer kann, Deklarationszusammenführung, Erweiterunge…
Artikel lesen →SoftwareentwicklungPython *args und **kwargs erklärt: Flexible Funktionen mit klaren Beispielen
Python *args und **kwargs erklärt mit Code, den wir ausgeführt haben: Packen und Entpacken, Parameterreihenfolge, Nur-Schlüsselwort- und Nur-Positio…
Artikel lesen →SoftwareentwicklungPython-Lambda-Funktionen: Syntax, tatsächliche Verwendung und wann man sie nicht verwendet
Python-Lambda-Funktionen erklärt mit Code, den wir ausgeführt haben: Syntax, Sortierung mit Schlüssel, Karte und Filter, Abschlüsse, die Late-Bindin…
Artikel lesen →Künstliche IntelligenzWas sind KI-Agenten? Wie sie funktionieren, mit einer einfachen Agentenschleife, die Sie ausführen können
Was sind KI-Agenten? Eine einfache Anleitung zur Agentenschleife, zu Tools, Speicher und Leitplanken, mit einer kleinen Python-Schleife, die wir aus…
Artikel lesen →DevOpsÜberwachung vs. Beobachtbarkeit: Der wahre Unterschied, mit Protokollen, Metriken und Traces
Überwachung vs. Beobachtbarkeit erklärt: bekannte und unbekannte Fehler, Protokolle, Metriken und Spuren, eine exemplarische Vorgehensweise für Chec…
Artikel lesen →DevOpsDocker-Volumes vs. Bind Mounts: Containerdaten auf die richtige Art und Weise beibehalten
Docker-Volumes vs. Bind-Mounts erklärt: Warum Containerdaten verschwinden, benannte Volumes, Bind-Mounts, tmpfs, Compose-Beispiele, Backups, Berecht…
Artikel lesen →TestautomatisierungTDD vs. BDD: Hauptunterschiede, eine Funktion, die auf beide Arten entwickelt wurde und wann sie jeweils verwendet werden sollte
TDD vs. BDD erklärt mit einer Rabattfunktion, die in beide Richtungen aufgebaut ist: Rot-Grün-Refaktor mit Code, den wir ausgeführt haben, Gegeben-W…
Artikel lesen →SoftwaretestsBenutzerakzeptanztests (UAT): Prozess, Checkliste und reale Beispiele
Benutzerakzeptanztests erklärt: Wer führt ihn durch, wie unterscheidet er sich von der Qualitätssicherung, ein siebenstufiger Prozess, eine UAT-Test…
Artikel lesen →Datenbanken & SQLErklärte SQL-NULL-Werte: IS NULL, COALESCE, NULLIF und die zu vermeidenden Fallen
SQL-NULL-Werte, die mit von uns ausgeführten Abfragen erklärt wurden: dreiwertige Logik, IS NULL, COALESCE, NULLIF, wie Aggregate, Joins und Sortier…
Artikel lesen →Datenbanken & SQLSQL CASE WHEN-Anweisung: Syntax, reale Beispiele und häufige Fehler
SQL CASE WHEN anhand der von uns ausgeführten Abfragen erklärt: einfache und durchsuchte Formulare, Bedingungsreihenfolge, Pivots mit SUM, COUNT-Tri…
Artikel lesen →SoftwareentwicklungWas ist JWT? JSON-Web-Tokens anhand eines funktionierenden Beispiels erklärt
Was ist JWT? JSON Web Tokens erklärt: die drei Teile, ein Token, das in dem von uns ausgeführten Code erstellt und manipuliert wurde, JWT vs. Sitzun…
Artikel lesen →SoftwareentwicklungErklärte JavaScript-Ereignisschleife: Aufrufstapel, Mikrotasks und Timer mit Beispielen
Die JavaScript-Ereignisschleife wurde mit dem von uns ausgeführten Code erklärt: Aufrufstapel, Aufgaben- und Mikrotask-Warteschlangen, warum setTime…
Artikel lesen →SoftwareentwicklungErklärung von Python-Generatoren und -Ertrag: Sparen Sie Speicher mit echten Beispielen
Python-Generatoren und Yield anhand des von uns ausgeführten Codes erklärt: wie sie angehalten und fortgesetzt werden, gemessene Speichereinsparunge…
Artikel lesen →Künstliche IntelligenzWas sind Einbettungen? Vektoren und Kosinusähnlichkeit einfach erklärt
Was sind Einbettungen? Ein Leitfaden in einfacher Sprache zu Vektoren, Kosinusähnlichkeit und semantischer Suche, mit einem kleinen Beispiel, das wi…
Artikel lesen →DevOpsBlau-Grün vs. Canary-Bereitstellung: Unterschiede, Kompromisse und Auswahl
Blue-Green vs. Canary-Bereitstellung erklärt: Funktionsweise, Kosten, Risiko und Rollback, stabiles Benutzer-Bucketing, das wir getestet haben, Date…
Artikel lesen →TestautomatisierungFlaky-Tests: Was sie verursacht und wie man sie endgültig behebt
Flaky-Tests wurden anhand von Demos erklärt, die wir durchgeführt haben: die Hauptursachen, wie man sie bestätigt und diagnostiziert, richtige Korre…
Artikel lesen →SoftwaretestsLasttest vs. Stresstest: Unterschiede, Metriken und k6-Beispiele
Erläuterungen zu Lasttests und Stresstests: Was die einzelnen Tests beweisen, Spike- und Soak-Tests, welche Kennzahlen wichtig sind, warum Durchschn…
Artikel lesen →SoftwaretestsTestfall vs. Testszenario: Hauptunterschiede, Beispiele und wann man sie jeweils verwendet
Testfall vs. Testszenario erklärt: klare Definitionen, eine Tabelle nebeneinander, eine Funktion zum Zurücksetzen von Passwörtern, die von Szenarios…
Artikel lesen →Datenbanken & SQLSQL-Abfrageoptimierung: Ausführungspläne lesen und langsame Abfragen mit Zeitvorgaben beheben
An einer Million Zeilen getestete SQL-Abfrageoptimierung: Ausführungspläne lesen, die richtigen Indizes hinzufügen, nicht sargierbare Filter korrigi…
Artikel lesen →Datenbanken & SQLSQL UNION vs. UNION ALL: Unterschiede, Beispiele und getestete Leistung
SQL UNION vs. UNION ALL anhand der von uns ausgeführten Abfragen erklärt: Duplikate, die Regeln, denen beide folgen, ein echter Datenfehler, gemesse…
Artikel lesen →SoftwareentwicklungTutorial zur JavaScript-Abruf-API: GET, POST, Fehlerbehandlung und Zeitüberschreitungen
Ein JavaScript-Abruf-API-Tutorial, das auf einem lokalen Server getestet wurde: GET und POST, warum 404 nicht ausgelöst wird, ein wiederverwendbarer…
Artikel lesen →SoftwareentwicklungUmgang mit Python-Dateien: Lesen, Schreiben, CSV, JSON und Pathlib mit Beispielen
Die Handhabung von Python-Dateien wird anhand des von uns ausgeführten Codes erklärt: Öffnungsmodi, Lesen großer Dateien, CSV, JSON, Pathlib, Binärd…
Artikel lesen →SoftwareentwicklungPython-Klassen und -Objekte: OOP-Tutorial mit echten Beispielen
Python-Klassen und -Objekte erklärt mit Code, den wir ausgeführt haben: __init__, Methoden, Klassen- und Instanzattribute, Vererbung, Eigenschaften,…
Artikel lesen →Künstliche IntelligenzWas ist ein großes Sprachmodell? Wie LLMs funktionieren, ohne großen Hype erklärt
Was ist ein großes Sprachmodell? LLMs im Klartext erklärt: Token, Einbettungen, Aufmerksamkeit, Training, Temperatur- und Kontextfenster, eine klein…
Artikel lesen →DevOpsLinux-Befehle für Anfänger: Der grundlegende Terminal-Leitfaden mit Beispielen
Linux-Befehle für Anfänger, gruppiert nach Aufgaben: Navigation, Dateien, Anzeigen von Protokollen, Grep, Pipes, Berechtigungen, Prozesse und Archiv…
Artikel lesen →TestautomatisierungSelenium vs. Playwright: Hauptunterschiede, Code im Vergleich und welche Sie wählen sollten
Selenium vs. Playwright im Vergleich: Architektur, Wartezeit, Browser- und Sprachunterstützung, Debugging, der gleiche Test in beiden Tools, Migrati…
Artikel lesen →SoftwaretestsÄquivalenzpartitionierung: Testdesigntechnik anhand von Beispielen erklärt
Erklärung der Äquivalenzpartitionierung: Wie man gültige und ungültige Partitionen findet, Beispiele für Alter, Passwörter und Gutscheine, von uns d…
Artikel lesen →SoftwaretestsSchweregrad vs. Priorität beim Softwaretest: Unterschiede, Matrix und reale Beispiele
Schweregrad vs. Priorität beim Softwaretest erklärt: klare Definitionen, eine Vier-Wege-Matrix mit Beispielen, Stufenskalen, wer die einzelnen Punkt…
Artikel lesen →Datenbanken & SQLTutorial zu SQL-Unterabfragen: Typen, korrelierte Unterabfragen und EXISTS mit Beispielen
Ein SQL-Unterabfrage-Tutorial mit Abfragen, die wir ausgeführt haben: Skalar-, IN-, FROM- und SELECT-Unterabfragen, korrelierte Unterabfragen, EXIST…
Artikel lesen →Datenbanken & SQLSQL-Transaktionen und ACID erklärt: COMMIT, ROLLBACK und Isolationsstufen
SQL-Transaktionen und ACID anhand einer von uns durchgeführten Banküberweisung erklärt: COMMIT, ROLLBACK, Sicherungspunkte, Sperren, Isolationsstufe…
Artikel lesen →SoftwareentwicklungSpickzettel für Git-Befehle: Die Befehle, die Sie tatsächlich verwenden, mit Beispielen
Ein Git-Befehls-Spickzettel, gruppiert nach Aufgabe: Setup, Staging, Branches, Remotes, Stash, Verlauf und Rückgängigmachen von Fehlern, mit Ausgabe…
Artikel lesen →SoftwareentwicklungErklärte JavaScript-Versprechen: Dann, Catch, Promise.all und häufige Fehler
JavaScript-Versprechen erklärt mit Code, den wir ausgeführt haben: Zustände, dann und Fangketten, Fehlerbehandlung, Promise.all, allSettled, Rennen …
Artikel lesen →SoftwareentwicklungPython-Wörterbuch-Tutorial: Methoden, Beispiele und gängige Muster
Ein Python-Wörterbuch-Tutorial mit Code, den wir ausgeführt haben: Diktate erstellen, lesen und aktualisieren, Schlüsselmethoden, Zusammenführung, V…
Artikel lesen →Künstliche IntelligenzWas ist RAG? Retrieval-Augmented Generation anhand eines Arbeitsbeispiels erklärt
Was ist RAG? Abruf-erweiterte Generierung Schritt für Schritt erklärt: Indizierung, Chunking, Einbettungen, Abruf, ein kleines funktionierendes Pyth…
Artikel lesen →DevOpsTerraform-Tutorial für Anfänger: Infrastruktur als Code von der ersten Datei bis zu den Modulen
Ein Terraform-Tutorial für Anfänger: Beginnen Sie ohne Cloud-Konto, lernen Sie Init, Planen und Anwenden, dann Variablen, Ausgaben, Status, Module u…
Artikel lesen →DevOpsDocker vs. Kubernetes: Hauptunterschiede, wie sie zusammenarbeiten und was Sie brauchen
Docker vs. Kubernetes erklärt: Was jeder tut, die gleiche App läuft mit beiden, Docker Compose und Swarm im Vergleich, die Dockershim-Änderung und w…
Artikel lesen →TestautomatisierungPytest-Tutorial für Anfänger: Vorrichtungen, Parametrisierung und reale Beispiele
Ein Pytest-Tutorial für Anfänger mit Tests, die wir auf Pytest 9.2 durchgeführt haben: Assertions, Fixtures, Parametrize, Conftest, Markers, tmp_pat…
Artikel lesen →SoftwaretestsSoftware Testing Life Cycle (STLC): 6 Phasen, Einstiegs- und Ausstiegskriterien, Beispiel
Der Softwaretest-Lebenszyklus erklärt: sechs STLC-Phasen mit Ein- und Ausstiegskriterien, Ergebnisse, ein Beispiel für eine funktionierende Anmeldef…
Artikel lesen →SoftwareentwicklungGit merge vs rebase: Unterschiede, Beispiele und wann man was nutzt
Git merge vs rebase erklärt mit echter Log-Ausgabe, einer Vergleichstabelle, der goldenen Regel des Rebase und einem sicheren Team-Workflow.
Artikel lesen →SoftwareentwicklungPython List Comprehension: Syntax, Beispiele und wann man darauf verzichtet
Python List Comprehension erklärt: Syntax, Filter, if-else, verschachtelte Schleifen, gemessene Zeiten und Fälle, in denen eine normale for-Schleife…
Artikel lesen →Datenbanken & SQLSQL Joins erklärt mit Beispielen (Inner, Left, Right, Full)
SQL Joins Schritt für Schritt mit Beispieltabellen und Abfragen verstehen: INNER, LEFT, RIGHT, FULL, CROSS und SELF, plus typische Fehler und Perfor…
Artikel lesen →