Du skal kunne:
git restore, git reset og git revert.
Forestil dig, at Git er et skrivebord, hvor du arbejder på filer.
Noget er kladde (working directory), noget er klar til commit (staging), og noget er gemt i historikken (commits).
Nogle handlinger er lokale og ufarlige, andre kan være problematiske i samarbejde.
„Fortryd kladde“
Bruges til at fortryde ændringer i arbejdsfiler, før du har lavet commit.
git restore betyder: “Gå tilbage til sidste gemte version.”Billede i hovedet: Du har tegnet på et papir, men fortryder tegningen → du smider papiret ud og tager en ny kopi fra skuffen.
„Ryd skrivebordet (lokalt)„
Bruges til at spole projektet tilbage i historikken – men kun lokalt. Derfor *ikke sikkert* ved samarbejde.
Billede i hovedet: Du har lavet tre tegninger (commits). Du vil slette de to sidste → du river dem ud af din egen mappe. Andres mapper ændres ikke.
„Annullér i historikken (sikkert ved samarbejde)„
Bruges til at lave en ny commit, der fortryder en tidligere commit – uden at ændre historikken.
Billede i hovedet: Du har tegnet en streg i mappen. I stedet for at rive siden ud, laver du en ny tegning, hvor du visker stregen ud. Alle kan se, hvad der er sket.
| Kommando | Betydning | Hvornår bruges det? | Sikkert i samarbejde? |
|---|---|---|---|
| git restore | Fortryd kladde | Når du vil tilbage til sidste gemte version | Ja |
| git reset | Ryd skrivebord (lokalt) | Når du vil spole din lokale historik tilbage | Nej |
| git revert | Annullér i historikken | Når du vil fortryde en delt commit | Ja |
Du skal kunne:
reset.Formål: Lære at gendanne ændrede filer før commit.
Trin:
git init.tekst.txt med indholdet: Dette er version ADette er version Bgit restore tekst.txtForventet resultat: Filen viser igen „Dette er version A“.
Checkpoints:
Formål: Forstå soft/mixed/hard reset uden at ødelægge remote.
Trin:
1. Opret et repo uden remote. 2. Lav tre commits: "A", "B", "C". 3. Kør ''git log --oneline'' og noter id for "B". 4. Kør: ''git reset --hard <id-for-B>''
Forventet resultat:
Checkpoints:
reset –hard i delt repo?–soft, –mixed og –hard?Formål: Forstå hvordan man fortryder en commit uden at ændre historikken.
Trin:
1. Lav commit 1: opret ''tal.txt'' med tallet ''1''. 2. Lav commit 2: skift tallet til ''2''. 3. Se loggen: ''git log --oneline'' 4. Revert commit 2: ''git revert <id-for-commit-2>''
Forventet resultat:
Checkpoints:
Scenarier (vælg 1):
restore.reset (uden push).revert.Succeskrav:
git reset –hard ved dit working directory?git restore gendanne en fil uden at ændre historikken?