Tool.Yun
Nyttige verktøy for utviklere
Beskjær bilde
Bilde til SVG (potrace)
Bildefargeinverter
Bildeformatkonverter
Bildesammenligning
Bildestørrelsesendrer
EXIF/metadata/GPS/JPEG-bildekvalitetsleser
Fjern EXIF
Fjern bildebakgrunn
GIF til MP4
HEIC-konverter
ICO/PNG-konverter
Kameraopptak
OCR-redigering av bilder og PDF-filer
SVG-forhåndsvisning
Vannmerke
BMI-kalkulator
Forklar Shell-kommandoen
IBAN validering og analysering
IES-belysningsretningslinjer
ISBN-validator og parser
ISO 3166-landskodesøker
ISO 639-søker
Kalenderkonverterer
Kompatibilitet med programvarelisenser
Kredittkortkontrollør
Luhn-validator
Løpetempokalkulator
MVA-nummervalidator
Online ordbok
RMB store bokstaver konverter
SLA-kalkulator
Telefon format og parserer
Unicode-søk
Valutakonverterer
Cron/Ukedagsalarm
Dager Kalkulator
Dato-tid konverter
ETA kalkulator
Hvilken dag?
ICAL-filparser
ICAL-generator
Kalkulator for dato+varighet
Kronometer
Nedtelling
TTL-kalkulator
Tidsalarm
Tidssonekonverter
Uketallskonverter
Varighetskalkulator
iCal-fusjon
Docker Compose Format Converter
Docker Compose til .env-fil
Docker Compose til Docker-kjørekonverter
Docker Compose til Quadlets
Docker Compose-validator
Docker Pangolin-etiketter
Docker run til Docker compose konverter
Docker-bildenedlaster
Docker-inspeksjon for å kjøre Docker
Docker-kjøring til Kubernetes
Docker-kjøring til Quadlets
Docker-skriving til kubernetes
Dockerfile-etikettgenerator
Kubernetes RBAC-generator
Traefik Docker Compose Maker
Amortiseringskalkulator
Akselerasjonsomformer
Arealenheter Konverter
Energienheter konverter
Frekvensomformer
Hastighetsomformer
Kraftenheter konverter
Lengdeenheter Konverter
Lysstyrkekonverter
Masseenheter konverter
Matenergiomformer
SI-prefikskonverterer
Strømomformer
Temperatur konverter
Treningsdatamaskin
Trykkenhetskonverter
Vinkelenheter Konverter
Volumenheter Konverter
Volumstrømningshastighetskonverter
BIP39 nøkkelords generator
Diceware passordgenerator
NanoID-generator
Numeronymgenerator
OTP kode generator
Passordgenerator
Postkodegenerator
Tilfeldige tallgenerator
Tokengenerator
UUID-generator
UUID-konverter
CSV til JSON
JS til JSON-konverter
JSON Linter
JSON forskjønning og formatering
JSON minifiser
JSON til .env
JSON til C#
JSON til CSV
JSON til JS-konverter
JSON til Java-enhet
JSON til MessagePack
JSON til TOML
JSON til TS
JSON til XML
JSON til YAML konverterer
JSON til data
JSON til objekt
JSON to Go
JSON-forskjell
JSON-fusjon
JSON-redigeringsprogram
JSON-sorteringsmaster
JSON-utflatning/oppheving av utflatning
Jq/JSONPath-tester
Json Escaper/Unscaper
Json til PHP-array
Json til PHP-kode
Json til Python
Json til SQL DDL
Json til skjema
Json-spørring
Json-strengkonverterer
Json-størrelsesanalysator
Meldingspakke til JSON
ObjGen til JSON
PHP-array til JSON
tools.json-patch.name
Bash-jukseark
CSS-velgere jukseark
Docker Compose-jukseark
Docker SWARM-jukseark
Docker-jukseark
Dockerfile-jukseark
Git Semantic Commit-jukseark
Git jukselapp
JSONPath-syntaks-jukseark
Jq-jukseark
Jukseark for nedbetaling
K8s jukseark
Nano-jukseark
Nginx-jukseark
Powershell-jukseark
Regex-jukseark
Sed jukselapp
Skjermkommando-jukseark
Tmux-kommando-jukseark
VIM-jukseark
Vanlig Regex-jukseark
XPath-syntaks-jukseark
Zellij-kommandoen jukseark
chmod-kommandoen Cheatsheet
Base64 Hex array-koder/dekoder
Base64 fil konverter
Base64 string kode/dekoder
Csv til data
E-postnormalisering
Egenskapskonverter
Energiforbruks- og utgiftsdatamaskin
Excel til data
Geografiske koordinatkonverterer
Heltalls konverter
Konverter for datalagringsenheter
Konverter for konvoluttvariabler
Konverter fra Unicode-tegn til Java-enheter
Mange enheter konverter
Romertall konverter
Tekst til ASCII binært
Tekst til Unicode
Torrent til magnet
ULID-generator
dBm mW-omformer
AGE-kryptografi
Ansible Vault Crypt Dekryptering
Argon2 Hasher
Bcrypt
Bech32-koder/dekoder
CRC-kalkulator
CSR-generator
ECDSA-nøkkelpargenerator
Ed25519 nøkkelpargenerator
Filhasher
Hash tekst
Hmac-generator
JWT-generator
JWT-parser
Jasypt-strengkryptering
Krypter / decrypter tekst
Niceware Bytes til passordfrase
PGP-filkryptering
PGP-kryptering
PGP-nøkkelgenerator
Paseto/PASERK Local
Paseto/PASERK Offentlig/Privat
RSA nøkkelpar generator
RSA-kryptering
RSA/DSA/ECDSA-signatør og verifikator
SAML-parser
SSL-sertifikatkonverter
Sertifikat-/nøkkelparser
Shamirs hemmelige deling
X509 sertifikatgenerator
Binær kalkulator
Konverter for matematiske formater
Matematikk OCR
Matematikkevaluator
Tipskalkulator
Visualisator for trigonometrisk/ligningskurve
Cron-uttrykksbygger
Bygg en referansemåler
Geografisk avstandskalkulator
Kalkulator for sideforhold
Prosent kalkulator
Epub til Markdown
Forbedring av prisnedsettelsestabell
Forhåndsvisning av Markdown
Generator for avmerkingstabeller
HTML til prisnedsettelse
Lim inn som Markdown
Markdown Lorem Ipsum
Markdown-innholdsfortegnelsesgenerator
Markdown-redigeringsprogram
Nedgradering til DOCX
Nedgradering til data
Nedmerking til HTML
Nedmerking til tekst
Nedskrivningsforskjell
tools.markdown-format-converter.name
Bilde til CSS
CSS XPath-konverter
CSS-enhetskonverterer
CSS-forskjønner
CSS-gradientgenerator
Enhets informasjon
Farge konverter
Fargehjul
Fargekontrastkontroll
HTML WYSIWYG-editor
HTML streng rensing
HTML til XHTML
HTML til data
HTML-minifikator
HTTP status koder
Html-forskjønner
Html-renser
Kode/dekode URL-formaterte strenger
MIME typer
REM-pikselkonverter
SVG plassholder generator
Slugify streng
Søkefragmentskaper for URL-tekst
URL-renser
UTM URL-generator
Url Fanger
User-agent analysering
ARPA-dekoder
Analyseverktøy for passordstyrke
Apache LogRotate Generator
BIMI DNS-generator
Chmod kalkulator
Cloudflare DNS/RDAP-spørringer
Crontab-generator
DKIM DNS-generator
DMARC DNS-generator
DNS-spørringer
DNSBL-sjekker
FStab-generator
Formatering av skallkommandoer
Generator for avstengningskommandoer
Grunnleggende autentiseringsgenerator
HAR Sanitizer
HDD-kalkulator
HTAccess-generator
Heltall til IPv4/IPv6
Htpasswd/htaccess-generator
IP-geografisk plassering
IPv4 adresse konverter
IPv4 range utvider
IPv4 subnet kalkulator
IPv4-6/IPRange/CIDR i IPRange/CIDR/IPMaske
IPv4-delnettliste
IPv6 ULA-generator
IPv6-adressekonverter
Iptables-generator
Ipv6-subnettkalkulator
Kalkulator for IPv4/6 CIDR til IP-område
Kalkulator for IPv4/6-område til CIDR(er)
Kalkulator for dataoverføringshastighet
Kalkulator for ekskludering av IP-subnett
Krøllekommandogenerator
Linearisering av skallkommandoer
MAC address oppslagsverk
MAC adresse generator
MAC-adressekonverterer
Mikrofontester
Min IP-adresse
Nedlaster med flere lenker
Nginx-formatering
Option43-generator
PTR DNS-generator
Ping
Portnumre
Punycode-konverterer
RAID-kalkulator
RAID-pålitelighetskalkulator
Rsync-generator
SIP-autorisasjon
SPF DNS-generator
TCP/UDP-porttester
Tilfeldig port generator
UFW-kommandogenerator
Visuell subnettkalkulator
WPA PSK-generator
Websocket tester
Whois-sjekker
Wireguard-konfigurasjonsgenerator
X-VR-SpamCause-dekoder
ZPOOL RAID-kalkulator
ZPool-jukseark
Zxcvbn Passordstyrke
firewalld kommandolinjegenerator
tools.restic-command-generator.name
tools.url-redirection-checker.name
HTML til PDF
PDF signatur sjekker
PDF-kompressor
PDF-tekstuttrekker
Pdf Linearize/FastWeb
Pdf-dekryptering og opplåsing
Pdf-kryptering
Pdf-sammenkobling
Pdf-sideuttrekker
ActiveDirectory LDAP-egenskapssøker
DMARC-rapportanalysator
DNS-forplantningstester
DNS-tester
Død pikseltester
E-postparser
EMV TLV-dekoder
ETH-transaksjonsdekoder
Filtypedetektor
Flytallskonverter
GZip/Deflate-konverter
HTTPS-tester
Heksadesimal enkoder/dekoder
Informasjonskapsler-parser
Jukseark for RJ45 Cat6-ledninger
MIME-kodingskonverter
Maskering av sensitive data
Middle-Endian-konverter
MongoDB ObjectId-konverterer
Motstandskalkulator
Nmap-kommandobygger
Outlook MSG-parser
Outlook Safelink-dekoder
Parkettfiler Leser
Parser for avvist e-post
SMART Raw-konverter
Seriell portkonsoll
SharePoint-delings-URL-dekoder
Snøfnugg-ID-uttrekker
TCPDump-generator
Tastekode info
Teksttegnsettdetektor/dekoder
URL analyse
URL-bygger
Utvider for korte URL-er
键盘测试器
Kortvelger
Lykkehjul
Myntflipper
Terningkaster
GTIN-validator
QR Kode generator
QR-kodedekoder
QR-kontaktinformasjonsgenerator
Strekkodegenerator
Strekkodeleser
WiFi QR Kode generator
tools.epc-qrcode-generator.name
TOML til JSON
TOML til YAML
TOML-linter
AI-ledetekstdeler
ASCII kunsttekstgenerator
Bilde til ASCII-kunst
Bokstavkonvertering
Distinkte ord
Emoji velger
GPT-tokenestimator
GPT-tokenkoder/dekoder
Hallo, generator.
Havfrueeksportør
I og L Checker
JSON til TOON
Levenshtein-kalkulator
Liste konverterer
Lister Sammenlign
Mappestrukturdiagram
Morsekodekonverterer
Pakk filer for AI
RSVP-leser
Regex-tester
Runekonverter
Sammenligning av skrifttyper
Sed-kommandogenerator
Sitasjonsgenerator
Smart teksterstatning og linjebryter
Sosial lenkedeler
Streng obfuskator
Søker etter duplikatlinjer
TOON til JSON
Tabulator til mellomrom
Tastaturoppsettkonverterer
Tekst diff
Tekst statistikk
Tekst til NATO alfabetet
Tekst til Unicode-navn
Tekstoversetter
Tilfeldig linjevelger
Trekk ut tekst fra HTML
Unicode til GSM-7
Unicode-formatering
Zalgo-generator/banner
ANSI-rømningstester
API Tester
CLI kommando editor
CSS/JS Forskjønn og Minimer
Databaseopprettingsbygger
Databasetabelgenerator
Dataforfalsker
Django Secret Generator
Favicon-generator
Fildeler
GitIgnore-generator
Gitattributes Generator
HEX-filkonverterer
Javascript Prettifier
Javascript Unobfuscator/Unpacker
Javascript-forvirring
Json til Protobuf
Json til SQL INSERT
Json til Typescript
K6 Skriptgenerator for lasttesting
Kode-/skriptmarkering
Krøllekonverter
Mailto-generator
Picomatch-tester
Pomodoro-timer
SQL forskjønning and format
SQL-minifikator
SQL-parametergenerator
Sitatkonverterer
Stacktrace penere
Strengbygger for databasetilkobling
Strengeutløser
Swagger UI-tester
Åpne grafmetagenerator
ObjGen til HTML
XML formaterer
XML til JSON
XML-linter
XPath-tester
XSLT-tester
YAML forskjønning og formatering
YAML til JSON konverter
YAML til TOML
YAML-fusjon
YAML-utflating/oppreving

Git jukselapp

Git er en desentralisert versjons håndterings programvare. Med denne jukselappen vil du få kjapp tilgang til de vanligste kommandoene.

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