Git is moeilik: om 'n gemors te maak is maklikik, maar om uit te vind hoe om dit reg te maak is onmoontlik. Git dokumentasie het 'n probleem waar jy nie kan soek hoe om jouself uit die gemors te kry nie, behalwe as jy klaar die naam ken wat van die ding wat jy oor moet weet om die probleem te kan oplos.
Dangit, ek het iets groots verkeerd gedoen, vertel asseblief vir my git het 'n magiese tydmasjien!?!
Dangit, Ek het commit en onmiddelik besef ek moet een klein verandering maak!
Dit gebeur gewoonlik met my as ek commit en dan toetse/linters uitvoer... en dan sien jy dat jy vergeet het om 'n spasie voor die isgelykaanteken te sit. Jy kan ook die verandering maak as 'n nuwe commit en dan 'n rebase -i doen om albei saam te smelt, maar hierdie is baie vinniger.
Dangit, ek moet die boodskap op my laaste commit verander!
Simpel vereistes vir commit boodskappe.
Dangit, ek het perongeluk iets commit aan die meester tak wat op 'n splinter nuwe tak moes gewees het!
Dangit, ek het perongeluk na die verkeerde tak commit!
Dangit, ek probeer diff hardloop, maar niks gebeur nie?!
Liasseer dit onder ¯\_(ツ)_/¯ (ja, ek weet dit is 'n funksie en nie 'n gogga nie, maar dis vreemd en nie voor die hand liggend nie, wanneer dit die eerste keer met jou gebeur)
Dangit, Ek moet 'n commit ongedaan maak van soos 5 commits gelede!
Jy kan ook 'n enkele lêer terugstel in plaas van 'n volledige commit! Maar natuurlik, op die ware git manier, is dit 'n heel ander stel opdragte...
Dangit, ek moet my veranderinge aan 'n leêr terugkeer!
Toe ek hierdie uiteindelik uitgevind het was fantasties. FANTASTIES. Maar in alle erns, op watter planeet maak checkout -- sin as die beste manier om 'n leêr terug te keer? :wys-middelfinger-vir-linus-torvalds:
Vergeet van die, ek gee op.
sudo rm -r simpel-git-repo-dir
git clone https://some.github.url/simpel-git-repo-dir.git
In alle erns, indien jou tak so stukkend is dat jy die toestand van jou repo moet herstel om dieselfde te wees as jou remote repo in 'n "git-goedgekeurde" manier, probeer dit. Pasop alhoewel, dit is vernietigende en onterugkeerbare aksies!
# herhaal checkout/reset/clean vir elke stukkende tak
*Vrywaring: Hierdie webwerf is nie bedoel as 'n volledige verwysing nie. En ja, daar is ander maniere om dieselfde dinge met meer teoretiese suiwerheid of wat ook al, maar ek het hierdie stappe bewerkstellig deur middel van baie probeer, vloekery en tafels omgooi. Ek het hierdie mal idee gehad om dit met 'n gesonde dosis van lewendigheid te deel. Vat dit soos jy wil!