Jujutsu versjonskontroll — det beste alternativet til Git?
En dyptgående guide til jj og hvorfor Google og Fastly har byttet

Jujutsu (jj) tilbyr en klarere mental modell enn Git, med full bakoverkompatibilitet med Git-repos.
Jujutsu (jj) er et nytt versjonskontrollsystem som lover en renere mental modell enn Git. Her er alt du trenger å vite for å komme i gang.
Bakgrunn og kontekst
Git er industristandarden for versjonskontroll og har vært det i nesten 20 år. Men å lære Git er beryktet vanskelig. Staging area, detached HEAD-tilstand, rebase-konflikter og den kryptiske reflog-en er kjente stressfaktorer for utviklere på alle nivåer. Jujutsu (jj) er et forsøk på å beholde Gits distribuerte kraftfullhet men redesigne brukergrensesnittet fra bunnen av.
Prosjektet startet som Googles interne prosjekt, men ble open source i 2022. Det bruker Git som lagringsbackend, noe som betyr at alle eksisterende Git-repoer fungerer umiddelbart med jj. Du kan bruke GitHub, GitLab og Gitea som normalt — jj er et lag oppå, ikke en erstatning for hele Git-infrastrukturen.
Kjernekonsepter og arbeidsflyt
Jujutsu introduserer noen få konsepter som forenkler versjonskontrollarbeidet dramatisk:
- Ingen staging area: alle endringer du gjør i arbeidskatalogen er automatisk del av gjeldende 'change' — ingen 'git add' nødvendig
- Anonyme brancher: du arbeider alltid på en 'change', ikke en 'branch'; brancher er bare labels du kan flytte fritt
- Operasjonslogg (op log): alle kommandoer er reversible via 'jj op undo' — ikke bare commits men alle jj-operasjoner
- Revsets: kraftig spørrespråk for å referere til grupper av commits, f.eks. 'jj log -r "ancestors(@, 5)"'
- First-class konfliktbehandling: konflikter lagres i repoet og kan løses når det passer, uten å blokkere rebase
- Rask logg: 'jj log' viser en kompakt, informasjonsrik graf som standard, uten parametere
Adopsjon og brukerundersøkelser
Jujutsu er fortsatt et nisjeverktøy, men vokser raskt blant avanserte utviklere.
Praktisk sammenligning med Git
Den praktiske fordelen med jj blir tydeligst i hverdagslige Git-operasjoner. Der Git krever 'git stash; git checkout main; git pull; git checkout feature; git stash pop' for å oppdatere main mens du er midt i arbeid, trenger jj bare 'jj git fetch'. Rebase-operasjoner som ville krevd en kompleks rebase-i i Git gjøres med enkle 'jj rebase'-kommandoer.
"Etter to uker med jj greier jeg ikke å gå tilbake. Operasjonsloggen alene er verdt byttet — det er som å ha en «undo» for alt jeg gjør i terminalen."
Komme i gang og fallgruver
Installasjon er enkel: 'brew install jj' på macOS, 'cargo install --git https://github.com/martinvonz/jj' generelt. For å bruke et eksisterende Git-repo: 'jj git init --colocate' i repoet. Etter det fungerer begge verktøyene side om side — kollegaer som fortsatt bruker Git merker ingen forskjell.
Den største fallgruven er å forvente at jj er som Git med et annet grensesnitt. Det er det ikke — den mentale modellen er fundamentalt annerledes. Bruker tid på å forstå 'changes' vs. 'commits' og revsets-systemet. Offisiell tutorial på martinvonz.github.io er utmerket. Unngå å blande jj- og git-kommandoer i samme økt til du er komfortabel med begge.
Veien videre
Jujutsu mangler fortsatt noen Git-funksjoner (GitHub PR-integrasjon er work in progress, git hooks-støtte er begrenset), men roadmapen er aktiv. Sapling, Facebooks interne versjonskontrollsystem som ble open source i 2022, løser lignende problemer og er et annet alternativ å vurdere.
For norske utviklere anbefales det å prøve jj på et personlig prosjekt eller et isolert team-prosjekt. Erfaringene er gjennomgående positive blant early adopters. Uansett om jj vinner markedsandeler på lang sikt, gir eksperimenteringen verdifull innsikt i hva versjonskontroll faktisk er — og gjør deg til en bedre Git-bruker av den enkle grunn at jj gjør de implisitte konseptene eksplisitte.
Ofte stilte spørsmål
Hva handler «Jujutsu versjonskontroll — det beste alternativet til Git?» om?
Jujutsu (jj) er et nytt versjonskontrollsystem som lover en renere mental modell enn Git. Her er alt du trenger å vite for å komme i gang.
Hva bør du vite om bakgrunn og kontekst?
Git er industristandarden for versjonskontroll og har vært det i nesten 20 år. Men å lære Git er beryktet vanskelig. Staging area, detached HEAD-tilstand, rebase-konflikter og den kryptiske reflog-en er kjente stressfaktorer for utviklere på alle nivåer. Jujutsu (jj) er et forsøk på å beholde Gits distribuerte kraftfullhet men redesigne brukergrensesnittet fra bunnen av.
Hva bør du vite om kjernekonsepter og arbeidsflyt?
Jujutsu introduserer noen få konsepter som forenkler versjonskontrollarbeidet dramatisk:
Hva bør du vite om adopsjon og brukerundersøkelser?
Jujutsu er fortsatt et nisjeverktøy, men vokser raskt blant avanserte utviklere.
Hva bør du vite om praktisk sammenligning med Git?
Den praktiske fordelen med jj blir tydeligst i hverdagslige Git-operasjoner. Der Git krever 'git stash; git checkout main; git pull; git checkout feature; git stash pop' for å oppdatere main mens du er midt i arbeid, trenger jj bare 'jj git fetch'. Rebase-operasjoner som ville krevd en kompleks rebase-i i Git gjøres med enkle 'jj rebase'-kommandoer.
Hva bør du vite om komme i gang og fallgruver?
Installasjon er enkel: 'brew install jj' på macOS, 'cargo install --git https://github.com/martinvonz/jj' generelt. For å bruke et eksisterende Git-repo: 'jj git init --colocate' i repoet. Etter det fungerer begge verktøyene side om side — kollegaer som fortsatt bruker Git merker ingen forskjell.
Redaksjonell merknad: Dette innholdet er utarbeidet av Norsk Næring med hjelp av kunstig intelligens og kvalitetssikret av redaksjonen. Informasjonen er ment som generell veiledning og erstatter ikke profesjonell rådgivning. Feil eller unøyaktigheter? Kontakt oss på help@norsknæring.no.



