Tool.Yun
Strumenti utili per gli sviluppatori
Decodificatore di codici QR
Generatore di codice QR
Generatore di codice QR WiFi
Generatore di codici a barre
Generatore di informazioni di contatto QR
Lettore di codici a barre
Validatore GTIN
tools.epc-qrcode-generator.name
Codificatore/decodificatore di array esadecimali Base64
Codificatore/decodificatore di stringhe Base64
Consumo energetico e spese del computer
Convertitore dBm mW
Convertitore di base intera
Convertitore di caratteri Unicode in entità Java
Convertitore di coordinate geografiche
Convertitore di file Base64
Convertitore di formato delle variabili ambientali
Convertitore di molte unità
Convertitore di numeri romani
Convertitore di proprietà
Convertitore di unità di archiviazione dati
Da CSV a dati
Excel per i dati
Generatore ULID
Normalizzatore di posta elettronica
Testo a Unicode
Testo in binario UTF-8
Torrent a Magnet
Analizzatore SAML
Bcrypt
Calcolatrice CRC
Codificatore/Decodificatore Bech32
Condivisione del segreto di Shamir
Convertitore di certificati SSL
Cripta e decifratura del vault Ansible
Crittografa / decrittografa testo
Crittografia AGE
Crittografia PGP
Crittografia RSA
Crittografia delle stringhe Jasypt
Crittografia file PGP
Firmatario e verificatore RSA/DSA/ECDSA
Generatore HMAC
Generatore JWT
Generatore di CSR
Generatore di certificati X509
Generatore di chiavi PGP
Generatore di coppie di chiavi ECDSA
Generatore di coppie di chiavi Ed25519
Generatore di coppie di chiavi RSA
Hash del testo
Hasher Argon2
Hasher di file
Niceware Bytes in passphrase
Parser JWT
Parser di certificati/chiavi
Paseto/PASERK Local
Paseto/PASERK Pubblico/Privato
Allarme orario
Calcolatore ETA
Calcolatrice Data+Durata
Calcolatrice TTL
Calcolatrice dei giorni
Calcolatrice della durata
Conto alla rovescia
Convertitore data-ora
Convertitore dei numeri delle settimane
Convertitore di fuso orario
Cron/Allarme giorno feriale
Cronometro
Fusione iCal
Generatore ICAL
Parser di file ICAL
Quale giorno?
Calcolatore BMI
Calcolatore del ritmo di corsa
Calcolatrice SLA
Compatibilità della licenza software
Controllo della carta di credito
Convertitore di calendario
Convertitore di valuta
Convertitore maiuscolo RMB
Dizionario online
Linee guida per l'illuminazione IES
Parser e formattatore di numeri di telefono
Ricerca ISO 639
Ricerca Unicode
Ricerca codici paese ISO 3166
Spiega il comando Shell
Validatore Luhn
Validatore di numeri di partita IVA
Validatore e parser IBAN
Validatore e parser ISBN
Convertitore da "docker run" a Docker compose
Convertitore da Docker Compose a Docker Run
Convertitore di formato Docker Compose
Docker Compose nel file .env
Docker Compose per Quadlet
Docker compone per Kubernetes
Esecuzione di Docker su Kubernetes
Esecuzione di Docker su Quadlets
Etichette Docker Pangolin
Generatore RBAC per Kubernetes
Generatore di etichette Dockerfile
Ispezione Docker per esecuzione Docker
Scaricatore di immagini Docker
Traefik Docker Compose Maker
Validatore Docker Compose
Calcolatore di ammortamento
Convertitore di accelerazione
Convertitore di energia alimentare
Convertitore di frequenza
Convertitore di illuminamento
Convertitore di portata volumetrica
Convertitore di potenza
Convertitore di prefissi SI
Convertitore di temperatura
Convertitore di unità angolari
Convertitore di unità di area
Convertitore di unità di energia
Convertitore di unità di forza
Convertitore di unità di lunghezza
Convertitore di unità di massa
Convertitore di unità di pressione
Convertitore di unità di volume
Convertitore di velocità
Prodotti di sicurezza
Analizzatore di e-mail di rimbalzo
Analizzatore di posta elettronica
Analizzatore di report DMARC
Calcolatrice di resistori
Codificatore/decodificatore esadecimale
Console porta seriale
Convertitore GZip/Deflate
Convertitore Middle-Endian
Convertitore ObjectId MongoDB
Convertitore SMART Raw
Convertitore di codifica MIME
Convertitore di numeri in virgola mobile
Decodificatore EMV TLV
Decodificatore URL di condivisione di SharePoint
Decodificatore di Outlook Safelink
Decodificatore di transazioni ETH
Espansore URL brevi
Estrattore ID fiocco di neve
Foglio riassuntivo sul cablaggio RJ45 Cat6
Generatore TCPDump
Generatore URL
Generatore di comandi Nmap
Informazioni sul codice tasto
Lettore di file Parquet
Mascheramento dei dati sensibili
Parser MSG di Outlook
Parser URL
Parser dei cookie
Ricercatore di proprietà LDAP di ActiveDirectory
Rilevatore di tipo di file
Rilevatore/decodificatore di set di caratteri di testo
Tester DNS
Tester HTTPS
Tester di pixel morti
Tester di propagazione DNS
键盘测试器
Convertitore UUID
Generatore UUID
Generatore di NanoID
Generatore di codice OTP
Generatore di codice PIN
Generatore di frase BIP39
Generatore di numeri casuali
Generatore di passphrase
Generatore di password Diceware
Generatore di token
Generatore numeronym
Lanciatore di dadi
Lanciatore di monete
Ruota della fortuna
Selettore di carte
Anteprima SVG
Confronto immagini
Convertitore HEIC
Convertitore ICO/PNG
Convertitore di formati di immagine
Da GIF a MP4
Filigrana
Immagine in SVG (ritratto)
Invertitore di colore dell'immagine
Lettore di qualità EXIF/Metadati/GPS/JPEG dell'immagine
OCRize immagine e PDF
Registratore di telecamera
Ridimensionatore di immagini
Rimuovi EXIF
Rimuovi lo sfondo dell'immagine
Ritaglia immagine
Analizzatore di dimensioni JSON
Array PHP in JSON
CSV in JSON
Codice JSON in PHP
Convertitore JSON to TOML
Convertitore JSON to YAML
Convertitore da JS a JSON
Convertitore da JSON a JS
Convertitore di stringhe JSON
Da Json a Python
Da ObjGen a JSON
Differenza JSON
Editor JSON
Fusione JSON
JSON Flattener/Unflattener
JSON Linter
JSON all'oggetto
JSON in .env
JSON in C#
JSON in MessagePack
JSON in PHP-Array
JSON in SQL DDL
JSON in Schema
JSON in TS
JSON in XML
JSON in dati
JSON in entità Java
JSON per andare
JSON prettify e format
JSON sort master
JSON to CSV
Json Escaper/Unescaper
Minify JSON
Pacchetto messaggi in JSON
Query Json
Tester Jq/JSONPath
tools.json-patch.name
Calcolatore di mance
Calcolatrice binaria
Convertitore di formati matematici
OCR matematico
Valutatore matematico
Visualizzatore di curve trigonometriche/equazioni
Benchmark builder
Calcolatore di percentuale
Calcolatrice del rapporto d'aspetto
Calcolatrice della distanza geografica
Compressore PDF
Concatenatore PDF
Crittografia PDF
Da HTML a PDF
Decifrare e sbloccare PDF
Estrattore di pagine PDF
Estrattore di testo PDF
Pdf Linearizza/FastWeb
Verificatore firme PDF
Generatore di espressioni Cron
ARPA Decoder
Analizzatore di forza della password
Autorizzazione SIP
Calcolatore chmod
Calcolatore dell'intervallo CIDR-IPv4/6
Calcolatore della velocità di trasferimento dati
Calcolatore di affidabilità RAID
Calcolatore di sottoreti IPv4
Calcolatore di sottoreti visuale
Calcolatrice HDD
Calcolatrice RAID
Calcolatrice RAID ZPOOL
Calcolatrice dell'intervallo IPv4/6 per CIDR
Calcolatrice della subnet IPv6
Calcolatrice di esclusione delle subnet IP
Controllo DNSBL
Controllo Whois
Convertitore Punycode
Convertitore di indirizzi IPv4
Convertitore di indirizzi IPv6
Convertitore di indirizzi MAC
Decodificatore X-VR-SpamCause
Elenco di sottoreti IPv4
Espansore di intervallo IPv4
Foglio riassuntivo di ZPool
Formattatore Nginx
Formattatore di comandi della shell
Forza della password Zxcvbn
Generatore Apache LogRotate
Generatore DNS BIMI
Generatore DNS DKIM
Generatore DNS DMARC
Generatore DNS PTR
Generatore DNS SPF
Generatore FStab
Generatore HTAccess
Generatore Htpasswd/htaccess
Generatore Iptables
Generatore Option43
Generatore Rsync
Generatore ULA IPv6
Generatore WPA PSK
Generatore di autenticazione di base
Generatore di comandi Curl
Generatore di comandi UFW
Generatore di comandi di arresto
Generatore di configurazione Wireguard
Generatore di crontab
Generatore di indirizzi MAC
Generatore di porte casuali
HAS Sanitizer
IPv4-6/IPRange/CIDR in IPRange/CIDR/IPMask
Il mio indirizzo IP
Interi in IPv4/IPv6
Linearizzatore di comandi della shell
Numeri di porta
Ping
Posizione geografica IP
Query DNS
Query DNS/RDAP di Cloudflare
Ricerca indirizzo MAC
Scaricatore multi-link
Test Websocket
Tester di porta TCP/UDP
Tester per microfoni
generatore di riga di comando firewalld
tools.restic-command-generator.name
tools.url-redirection-checker.name
Anteprima dello sconto
Conversione da Markdown a DOCX
Conversione da Markdown a HTML
Conversione da Markdown a Testo
Da Epub a Markdown
Da HTML a markdown
Differenza Markdown
Editor di Markdown
Generatore di indice Markdown
Generatore di tabelle Markdown
Incolla come Markdown
Markdown Lorem Ipsum
Markdown Table Prettifier
Markdown per i dati
tools.markdown-format-converter.name
Foglio di riferimento sulla sintassi JSONPath
Foglio di riferimento sulla sintassi XPath
Foglio riassuntivo K8s
Foglio riassuntivo Nano
Foglio riassuntivo VIM
Foglio riassuntivo comune sulle espressioni regolari
Foglio riassuntivo dei comandi dello schermo
Foglio riassuntivo dei selettori CSS
Foglio riassuntivo del comando Tmux
Foglio riassuntivo del comando Zellij
Foglio riassuntivo del comando chmod
Foglio riassuntivo delle espressioni regolari
Foglio riassuntivo di Bash
Foglio riassuntivo di Docker
Foglio riassuntivo di Docker Compose
Foglio riassuntivo di Docker SWARM
Foglio riassuntivo di Dockerfile
Foglio riassuntivo di Jq
Foglio riassuntivo di Markdown
Foglio riassuntivo di Nginx
Foglio riassuntivo di PowerShell
Foglio riassuntivo di Sed
Foglio riassuntivo per i commit semantici Git
Git cheatsheet
CSS/JS Abbellisci e minimizza
Convertitore di citazioni
Convertitore di file HEX
Convertitore di riccioli
Da JSON a TypeScript
Divisore di file
Editor di comandi Cli
Evidenziatore di codice/script
Falsificatore di dati
Generatore GitIgnore
Generatore Mailto
Generatore di attributi Gita
Generatore di creazione di database
Generatore di favicon
Generatore di meta Open Graph
Generatore di parametri SQL
Generatore di script per test di carico K6
Generatore di segreti Django
Generatore di stringhe di connessione al database
Generatore di tabelle di database
Inserimento da Json a SQL
Javascript Prettifier
Javascript Unobfuscator/Unpacker
Json in Protobuf
Offuscatore Javascript
SQL Minifier
SQL prettify e format
Stacktrace più carino
String Escaper
Test API
Tester Picomart
Tester dell'interfaccia utente Swagger
Tester di fuga ANSI
Timer Pomodoro
TOML Linter
TOML to JSON
TOML to YAML
AI Prompt Splitter
Calcolatrice Levenshtein
Codificatore/decodificatore di token GPT
Condivisione di link social
Confronta i caratteri
Controllore I e L
Convertitore di codice Morse
Convertitore di layout di tastiera
Convertitore di liste
Convertitore di maiuscole/minuscole
Convertitore di rune
Da JSON a TOON
Da TOON a JSON
Diagramma della struttura delle cartelle
Differenza di testo
Elenchi Confronta
Esportatore di sirene
Estrarre testo da HTML
File di pacchetto per l'IA
Formattatore Unicode
Generatore di Lorem ipsum
Generatore di citazioni
Generatore di comandi Sed
Generatore di testo ASCII Art
Generatore/Banner di Zalgo
Immagine in ASCII Art
Lettore RSVP
Obfuscator di stringhe
Parole distinte
Selettore di emoji
Selettore di righe casuali
Sostituzione intelligente del testo e interruzione di riga
Statistiche del testo
Stima del token GPT
Tab per passare agli spazi
Tester di espressioni regolari
Testo all'alfabeto NATO
Testo in nomi Unicode
Traduttore di testo
Trova linee duplicate
Unicode a GSM-7
Abbellitore CSS
Abbellitore HTML
Cattura URL
Codici di stato HTTP
Codifica/decodifica stringhe formattate in formato URL
Controllo del contrasto dei colori
Convertitore CSS XPath
Convertitore di colore
Convertitore di pixel REM
Convertitore di unità CSS
Creatore di frammenti di ricerca di testo URL
Editor HTML WYSIWYG
Escape delle entità HTML
Generatore di URL UTM
Generatore di gradienti CSS
Generatore di segnaposto SVG
HTML in XHTML
HTML in dati
Immagine in CSS
Informazioni sul dispositivo
Minificatore HTML
Parser user-agent
Pulitore HTML
Pulitore URL
Ruota dei colori
Slugify string
Tipi MIME
Da ObjGen a HTML
Formattatore XML
Linter XML
Tester XPath
Tester XSLT
XML in JSON
Convertitore YAML to JSON
Fusione YAML
YAML Flattener/Unflattener
YAML prettify e format
YAML to TOML

Git cheatsheet

Git è un software di gestione delle versioni decentralizzato. Con questa cheatsheet, avrai accesso rapido ai comandi git più comuni.

Git is a distributed version control system: every clone is a full repository with its own history, branches and tags. This is a quick reference for the commands that come up daily — placeholders are written as <file>, <branch>, <commit> and <url>.

💡 Every command below has its own help (git rebase --help), and the destructive ones (clean, push, rm, mv) take -n / --dry-run to preview what would happen.

⚙️ Configuration

# identity used on every commit
git config --global user.name "<name>"
git config --global user.email "<email>"

# name of the branch created by git init
git config --global init.defaultBranch main

# editor for messages, rebases, ...
git config --global core.editor "code --wait"

# rebase instead of merging on pull
git config --global pull.rebase true

# plain 'git push' works on new branches
git config --global push.autoSetupRemote true

# every setting and the file it came from
git config --list --show-origin

# override for this repository only
git config --local user.email "<work-email>"

Handy aliases:

git config --global alias.st status

git config --global alias.co checkout

git config --global alias.lg "log --oneline --graph --decorate --all"

git config --global alias.last "log -1 --stat"

🚀 Get Started

# create a repository in the current directory
git init

# clone a remote repository
git clone <url>

# clone into a specific directory
git clone <url> <directory>

# clone and check out one branch
git clone --branch <branch> <url>

# shallow clone, latest commit only
git clone --depth 1 <url>

# clone including submodules
git clone --recurse-submodules <url>

# what is staged, changed, untracked
git status

# the same, in short format
git status -sb

➕ Staging

# stage a specific file
git add <file>

# stage everything under the current directory
git add .

# stage everything in the repository, deletions included
git add -A

# interactively stage individual hunks
git add -p <file>

# stage modifications and deletions, not new files
git add -u

# unstage, keep the changes in the working tree
git restore --staged <file>

# stop tracking a file, keep it on disk
git rm --cached <file>

# rename and stage in one step
git mv <old> <new>

# which .gitignore rule is hiding this file?
git check-ignore -v <file>

✅ Commit

# commit what is staged
git commit -m "<message>"

# stage tracked changes and commit
git commit -am "<message>"

# rewrite the last commit (message + content)
git commit --amend

# amend without changing the message
git commit --amend --no-edit

# fixup commit, squashed later by --autosquash
git commit --fixup <commit>

# add a Signed-off-by trailer
git commit -s -m "<message>"

# empty commit, e.g. to trigger CI
git commit --allow-empty -m "<message>"

⚠️ --amend rewrites history. Only amend commits that have not been pushed to a shared branch.

🌿 Branches

# list local branches
git branch

# local and remote-tracking branches
git branch -a

# last commit and upstream of each branch
git branch -vv

# switch to an existing branch
git switch <branch>

# create a branch and switch to it
git switch -c <branch>

# jump back to the previous branch
git switch -

# older equivalent of switch -c
git checkout -b <branch>

# branch off a specific commit or tag
git switch -c <branch> <commit>

# rename a branch
git branch -m <old> <new>

# delete a merged branch
git branch -d <branch>

# force-delete an unmerged branch
git branch -D <branch>

# branches already merged into HEAD (safe to delete)
git branch --merged

🔀 Merging & Rebasing

# merge a branch into the current one
git merge <branch>

# always create a merge commit
git merge --no-ff <branch>

# bring in the changes as one staged change set
git merge --squash <branch>

# bail out of a conflicted merge
git merge --abort

# replay the current branch on top of another
git rebase <branch>

# interactively squash, reword, drop, reorder commits
git rebase -i HEAD~5

# apply the --fixup commits automatically
git rebase -i --autosquash <base>

# resume after resolving conflicts
git rebase --continue

# drop the conflicting commit and continue
git rebase --skip

# return to the state before the rebase
git rebase --abort

# resolve conflicts with the configured merge tool
git mergetool

Resolving a conflict:

# 1. see which files conflict
git status

# 2. edit them and remove the <<<<<<< ======= >>>>>>> markers

# 3. mark each resolved file
git add <file>

# 4. resume (during a merge: git merge --continue)
git rebase --continue

⚠️ Rebasing rewrites commits. Never rebase a branch other people are already working on.

🌍 Remotes & Syncing

# list remotes and their URLs
git remote -v

# add a remote
git remote add origin <url>

# point a remote somewhere else
git remote set-url origin <url>

# rename a remote
git remote rename <old> <new>

# forget a remote
git remote remove <name>

# download objects and refs, change nothing
git fetch origin

# fetch everything, drop deleted remote branches
git fetch --all --prune

# fetch + merge (or rebase) the upstream branch
git pull

# replay local commits on top of the upstream
git pull --rebase

# push the current branch
git push

# push and set the upstream tracking branch
git push -u origin <branch>

# force-push, but refuse to clobber new commits
git push --force-with-lease

# delete a remote branch
git push origin --delete <branch>

# push all tags
git push origin --tags

⚠️ Prefer --force-with-lease over --force: it aborts if someone else pushed in the meantime.

📦 Stashing

# shelve tracked changes and clean the working tree
git stash

# include untracked files
git stash -u

# stash specific paths with a label
git stash push -m "<message>" <file>

# list every stash
git stash list

# show a stash as a patch
git stash show -p stash@{0}

# re-apply the newest stash and drop it
git stash pop

# re-apply a specific stash, keep it in the list
git stash apply stash@{2}

# create a branch from a stash and apply it
git stash branch <branch>

# delete one stash
git stash drop stash@{0}

# delete all stashes
git stash clear

🔍 Inspecting

# the whole history as a compact graph
git log --oneline --graph --decorate --all

# history of a file, with diffs
git log -p <file>

# history of a file, following renames
git log --follow <file>

# filter by date and author
git log --since="2 weeks ago" --author=<name>

# search commit messages
git log --grep="<pattern>"

# commits that added or removed a string
git log -S"<string>"

# commits in b that are not in a
git log <branch-a>..<branch-b>

# commit count per author
git shortlog -sn

# a single commit with its diff
git show <commit>

# working tree vs. index
git diff

# index vs. last commit
git diff --staged

# between two commits
git diff HEAD~1 HEAD

# changes since the branches diverged
git diff <branch-a>...<branch-b>

# summary of changed files
git diff --stat

# who last touched every line
git blame <file>

# blame a range of lines only
git blame -L 10,40 <file>

# search the tracked files
git grep "<pattern>"

# every position HEAD has had — your safety net
git reflog

🍒 Cherry-pick

# apply one commit onto the current branch
git cherry-pick <commit>

# apply a range of commits
git cherry-pick <commit-a>^..<commit-b>

# apply without committing
git cherry-pick -n <commit>

# after resolving conflicts
git cherry-pick --continue

# undo the whole cherry-pick
git cherry-pick --abort

🏷 Tags

# list tags
git tag

# list matching tags
git tag -l "v1.*"

# annotated tag on HEAD
git tag -a v1.0.0 -m "Release v1.0.0"

# tag an older commit
git tag -a v1.0.0 <commit>

# show a tag and its commit
git show v1.0.0

# push one tag
git push origin v1.0.0

# push all tags
git push origin --tags

# delete a local tag
git tag -d v1.0.0

# delete a remote tag
git push origin --delete v1.0.0

# closest tag to the current commit
git describe --tags

🧯 I’ve Made a Mistake

# fix the last commit message
git commit --amend

# undo the last commit, keep the changes unstaged
git reset HEAD~1

# undo the last n commits, keep the changes
git reset HEAD~<n>

# undo the last commit and throw the changes away
git reset --hard HEAD~1

# discard changes to one file
git restore <file>

# discard every uncommitted change
git restore .

# restore a file as it was at a commit
git restore --source=<commit> <file>

# undo a commit with a new commit (safe when shared)
git revert <commit>

# stage the revert without committing
git revert -n <commit>

# make the local branch match the remote (fetch first)
git reset --hard origin/<branch>

# find the lost commit...
git reflog

# bring a lost commit back on a new branch
git switch -c <branch> <commit>

git reset modes at a glance:

ModeMoves HEADIndex (staging)Working treeUse it to
--soft✅untoucheduntouchedRecommit differently, keep everything staged
--mixed✅resetuntouchedUnstage but keep the edits (default)
--hard✅resetresetThrow the changes away entirely ⚠️

💡 Nothing committed is really lost for ~90 days: git reflog lists every commit HEAD pointed at, even on deleted branches.

🧹 Cleaning

# dry run: what would be removed
git clean -n

# remove untracked files and directories
git clean -fd

# also remove ignored files (build output, node_modules)
git clean -fdx

# compress and tidy the object database
git gc

# drop unreachable objects
git prune

# check the repository for corruption
git fsck

🐛 Debugging

# begin a binary search for a bad commit
git bisect start

# a commit that is broken (often HEAD)
git bisect bad <commit>

# a commit that was fine
git bisect good <commit>

# let a test script decide automatically
git bisect run <command>

# end the search and return to the original HEAD
git bisect reset

# follow lines moved from other files
git blame -C <file>

🧩 Submodules & Worktrees

# add a submodule
git submodule add <url> <path>

# check out every submodule
git submodule update --init --recursive

# update submodules to their latest commit
git submodule update --remote

# commit each submodule sits on
git submodule status

# check out a second branch side by side
git worktree add ../<dir> <branch>

# list linked working trees
git worktree list

# remove one again
git worktree remove ../<dir>

🧠 Miscellaneous

# rename the local default branch
git branch -m master main

# graph of merge commits only
git log --graph --merges

# export a snapshot without .git
git archive -o release.zip HEAD

# contributions per author
git shortlog -sn --no-merges

# full SHA of the current commit
git rev-parse HEAD

# name of the current branch
git rev-parse --abbrev-ref HEAD

# repository size on disk
git count-objects -vH

# enable background repacking (Git 2.30+)
git maintenance start

Update a feature branch with the latest mainline:

git switch <branch>
git fetch origin <main-branch>
git rebase origin/<main-branch>   # or: git merge origin/<main-branch>

📚 Resources

  • Official documentation
  • Pro Git (free book)
  • Interactive branching tutorial
  • Dangit, Git!?! — recovering from the classic mistakes