In case of fire: GTFO 🔥

Mørk bakgrunn med en rød neon-skilt som lyser "EXIT"
Mørk bakgrunn med en rød neon-skilt som lyser "EXIT"

Intro

Forhåpentligvis vil dette aldri skje med deg, men selv om det ikke er en brann eller jordskjelv, kan det oppstå en nødsituasjon og du må komme deg ut av kontoret/bygningen og du har ufullført kode.

Hva må du gjøre❓

GTFO: get-the-f-out

Vanligvis noe i denne retning:

git checkout -B emergency-exit
git add -A
git commit -m "Emergency exit"
git push origin head -u

Det er mange kommandoer å skrive med stor mulighet for feilstavinger og å måtte skrive dem på nytt. Jeg skrev dette for moro skyld og tenkte jeg skulle dele det videre. Det er to måter jeg gjorde dette på: en git-alias, en Mac .zsh eller Powershell-alias oppå git-kommandoen.

Resultatet er at du bare kan skrive g tfo og la datamaskinen ta seg av resten av arbeidet med å lagre arbeidet ditt og publisere til en ekstern gren for senere gjenoppretting.

Aliaser

Så jeg oppretter først git-aliaset ved å redigere .gitconfig. Jeg vil opprette et alias som heter tfo og opprette en funksjon som kaller alle git-kommandoene jeg nevnte ovenfor etter hverandre.

Så her er hvordan det ser ut (vanligvis en linje, men omsluttet for format):

[alias]
    tfo = "!f() { git checkout -B emergency-exit && git add -A && git commit -m
       'Emergency exit'  && git push origin head -u; }; f

✨ Det er det! Repoet mitt har nå en gren som heter emergency-exit og jeg kan slå sammen eller gjøre hva jeg må gjøre senere når det er trygt.

For å erstatte git med bare g:

Powershell

Rediger .profile for å opprette alias g som git.

New-Item alias:g -value git

// or directly in the profile.ps1 file

New-Alias g git

Mac

Nyere Mac-er bruker zsh som skallet. Åpne .zshrc med nano eller vscode.

code -or- nano ~/.zshrc

alias g="git"

Oppdater deretter terminalen

source ~/.zshrc

💥 Nå kan jeg skrive en global funksjon som heter gtfo som gjør alt, eller til og med en skript, men dette var raskt og enkelt og en fin liten 10-minutters pause.

Viktig: Hvis du er så uheldig å måtte gjøre dette mer enn en gang eller du gjorde dette for å teste det ut, så oppretter -B i kommandoen grenen hvis den ikke finnes og hvis den gjør det, tilbakestiller den med de nye endringene.

Hvis du må gjøre dette ofte... Hold deg unna meg...jk... Men seriøst... Ikke kom nær meg.

© 2023 Stephen Chiang