Norske OhShitGit redder deg fra Git-feil

- Umenneskelig å huske alle Git-kommandoene, mener skaperen.

Leif Riksheim har laga OhShitGit - et verktøy som startes med kommandoen "ohshit" og hjelper deg med Git-feil. 📸: Ole Petter Baugerød Stokke
Leif Riksheim har laga OhShitGit - et verktøy som startes med kommandoen "ohshit" og hjelper deg med Git-feil. 📸: Ole Petter Baugerød Stokke Vis mer

Som hobbyutvikler er det én ting jeg aldri helt har fått dreisen på: Git.

For selv med moderne verktøy og Git-funksjoner i editoren, må de aller fleste av oss inn i det terminalbaserte Git-universet før eller siden, som kan være utfordrende for selv de mest erfarne utviklerne.

- Nettsida Ohshitgit.com har ei liste med typiske Git fuckups, og hvordan man løser dem. Det er en side jeg har vært inne på litt for mange ganger, innrømmer frilansutvikler Leif Riksheim til kode24.

- Så det slo meg at det ville vært nyttig å ha det rett i terminalen, og at jeg kunne lage et interface over Git-kommandoer gjennom å svare på enkle spørsmål.

Resultatet ble hobbyprosjektet hans OhShitGit.

Slik fungerer OhShitGit

OhShitGit er et terminalverktøy som installeres med NPM, og skal hjelpe deg å "unfucke" Git-feil, som Riksheim sier.

- Du skriver bare "ohshit" i terminalen, og får en liste med spørsmål om hva du har gjort feil, forteller han på epost fra Sentral-Amerika, hvor han holder til.

«Fuck ups happen! What do you want to do?»

Befinner du deg inne i et Git-prosjekt, og skriver "ohshit", får du opp beskjeden "Oh shit! What did you do!?", hvor du kan velge mellom en rekke ulike scenarioer. For eksempel "I committed and immediately realized I need to make one small change!", hvorpå verktøyet svarer "Fuck ups happen! What do you want to do?".

Da kan du for eksempel velge "Add all my changes to last commit!", som verktøyet da fikser for deg.

- Bruker du OhShitGit selv, eller har du alltid stålkontroll på Git-bruken din?

- Jeg bruker det faktisk selv noen ganger, ja. Grunnen til at jeg lagde det var jo nettopp fordi jeg aldri klarer å huske de forbanna kommandoene! svarer Riksheim.

Leif Riksheim flytta til Sentral-Amerika og jobber som frilansutvikler. OhShitGit er et av hobbyprosjektene hans. 📸: Privat
Leif Riksheim flytta til Sentral-Amerika og jobber som frilansutvikler. OhShitGit er et av hobbyprosjektene hans. 📸: Privat Vis mer

"Umenneskelig å huske"

OhShitGit er bygd med Node.js, og distrubiert relativt enkelt gjennom NPM.

For å gjøre jobben noe enklere brukte Riksheim et par pakker, som Inquirer for å sette opp spørsmål og validere svar, og simple-git for å kunne utføre Git-kommandoer.

- Jeg måtte sette meg grundig inn i hvordan Git faktisk fungerer, og alle de forskjellige Git-kommandoene jeg sjeldent eller aldri bruker. Det slo meg hvor komplekst Git egentlig er, og at det er umenneskelig å huske alle de spesielle kommandoene for feil du ikke gjør så ofte, forteller Riksheim.

- Selv om jeg brukte endel tid på å sette meg inn i Git-verden, har jeg nok glemt mer enn halvparten allerede. Det var vel derfor jeg også lagde verktøyet - så jeg slapp å memorere alt.

Idé fra Etsy-utvikler

Ideen og mange av spørsmålene kommer som nevnt fra nettsida ohshitgit.com, laga av utvikleren Katie Sylor-Miller i Etsy. Dette er Riksheim åpen om, bløant annet på GitHub-sida til prosjektet.

- Men har du egentlig vært i kontakt med henne?

- Jeg har ikke vært i kontakt med henne, men det slår meg nå at det ville vært kult å få til et samarbeid, så det kunne vært en enkel instruksjon om hvordan å laste ned verktøyet så man har det rett i terminalen, forteller Riksheim.

OhShitGit har i dag 115 stjerner på GitHub, og skal bli lasta ned rundt 13 ganger hver uke.

- Har du noen planer for verktøyet framover?

- Jeg har noen ideer på ting som kan forbedres og legges til, men jeg er litt for flink på å starte på nye ting, og ikke flink nok på vedlikehold, innrømmer utvikleren.

- Så noen pull-requests og forslag tas i mot med takk!