Avanceret Git: Monorepoer, undermoduler og arbejdsgange · Lektion

Interaktiv rebase og ændring af commits

Lær at omskrive historikken med `git rebase -i` for renere commits og bruge `git commit --amend` til at ændre den seneste commit

Lektion 1 af 412 trin

Interaktiv rebase og ændring af commits er en gratis Avanceret Git: Monorepoer, undermoduler og arbejdsgange-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Avanceret Git: Monorepoer, undermoduler og arbejdsgange, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Avanceret Git: Monorepoer, undermoduler og arbejdsgange-kurset indeholder 4 lektioner i alt.

Ryd op i din Git-historik

Git-historikken bliver let rodet — en glemt fil, en slåfejl i en meddelelse eller ti små commits, der burde være én. Git giver dig mulighed for at omskrive historikken, så du kan rydde op i den.

Redigering af din seneste commit

git commit --amend retter din seneste commit: Du kan ændre meddelelsen, tilføje glemte filer eller justere indholdet. Den erstatter den seneste commit med en mere overskuelig version.

Eksempel på redigering af en commit

Glemte du en fil lige efter, at du lavede en commit? Sæt den i staging, og kør derefter git commit --amend for at føje den til den seneste commit. Sådan ser forløbet ud.

# 1. Make some changes and commit
echo "Initial content" > file1.txt
git add file1.txt
git commit -m "Add file1"

# 2. Realize you forgot file2.txt
echo "More content" > file2.txt
git add file2.txt

# 3. Amend the last commit to include file2.txt
git commit --amend --no-edit

Introduktion til interaktiv rebase

Har du brug for at rette commits længere tilbage end den seneste? Interaktiv rebase (git rebase -i) er en komplet editor til en række commits.

Kom godt i gang med rebase -i

Start en interaktiv rebase ved at angive en commit før det område, du vil arbejde med. Hvis du vil redigere de seneste tre commits, skal du bruge HEAD~3.

git rebase -i HEAD~3

Rebase-kommandoer: Pick, Reword, Squash

Rebase-editoren viser commits med kommandoer, som du kan ændre: pick beholder den, reword redigerer meddelelsen, squash/fixup sammenfletter den med den forrige, og edit sætter processen på pause, så du kan redigere den.

Omdøbning af en commit-meddelelse

Hvis du vil ændre meddelelsen for en ældre commit, skal du ændre dens linje fra pick til reword i editoren. Git beder dig derefter om den nye meddelelse.

# Original rebase editor content:
# pick 8a9b3c4 Add initial feature
# pick d1e2f34 Fix typo in docs

# Change 'pick' to 'reword' for the first commit:
# reword 8a9b3c4 Add initial feature
# pick d1e2f34 Fix typo in docs

Sammenfletning af commits

Har du flere små commits, der hører sammen? squash samler dem i én meningsfuld commit — ændr linjerne under pick til squash.

# Original commits:
# pick abc1234 Add user registration form
# pick def5678 Add validation for email field
# pick ghi9012 Fix styling on form

# To squash the last two into the first:
# pick abc1234 Add user registration form
# squash def5678 Add validation for email field
# squash ghi9012 Fix styling on form

Redigering af en ældre commit

Kommandoen edit sætter rebase-processen på pause ved en bestemt commit. Foretag ændringerne, kør git add, git commit --amend og derefter git rebase --continue.

Hvornår du skal være forsigtig med omskrivning

Omskrivning ændrer commit-id'er — det er sikkert for commits, der kun findes lokalt. Omskriv aldrig historik, der allerede er pushet og delt; det ødelægger dine samarbejdspartneres arbejde.

Hurtigt tjek: Omskrivning af historik

Du har lavet en commit med meddelelsen "Fix bug". Derefter opdager du, at du glemte at inkludere en lille fil i den commit. Hvilken Git-kommando er mest passende til at rette dette, hvis du antager, at du ikke har pushet committen endnu?

Opsummering: Renere commits

Opsummering: git commit --amend retter den seneste commit, mens git rebase -i omskriver en række — med mulighed for at omdøbe, sammenflette, rette eller redigere. Vær blot forsigtig på delte grene.

Gratis at komme i gang

Lær Avanceret Git: Monorepoer, undermoduler og arbejdsgange med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Interaktiv rebase og ændring af commits” gratis?

Ja — hele teksten til “Interaktiv rebase og ændring af commits” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Avanceret Git: Monorepoer, undermoduler og arbejdsgange-kurset, skal du opgradere til CoddyKit PRO. Avanceret Git: Monorepoer, undermoduler og arbejdsgange-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Interaktiv rebase og ændring af commits”?

Lær at omskrive historikken med `git rebase -i` for renere commits og bruge `git commit --amend` til at ændre den seneste commit Du øver dig i Avanceret Git: Monorepoer, undermoduler og arbejdsgange med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Avanceret Git: Monorepoer, undermoduler og arbejdsgange?

Der kræves ingen tidligere erfaring. Avanceret Git: Monorepoer, undermoduler og arbejdsgange på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Interaktiv rebase og ændring af commits”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Avanceret Git: Monorepoer, undermoduler og arbejdsgange-lektion?

Ja. Alle Avanceret Git: Monorepoer, undermoduler og arbejdsgange-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Interaktiv rebase og ændring af commits
  2. Stashing og cherry-picking af ændringer
  3. Reflog til gendannelse
  4. Bisect: Find dårlige commits
← Tilbage til Avanceret Git: Monorepoer, undermoduler og arbejdsgange