Git-kommandogenerator

Nästa

Varje utvecklare har googlat “hur ångrar jag den senaste committen” minst två gånger. Istället för att gissa mellan reset --soft, reset --mixed och reset --hard väljer du uppgiften från en lista, och generatorn skriver ut det exakta kommandot med din gren, commit-SHA eller taggnamn ifyllt.

Så genererar du ett Git-kommando

  1. 1

    Välj uppgiften

    Ångra senaste commit, ändra meddelande, rebase mot main, cherry-pick, tvinga reset mot remote, tagga en release…

  2. 2

    Fyll i parametrarna

    Grennamn, commit-SHA, tagg, bara de fält som varje uppgift behöver.

  3. 3

    Läs kommandot

    Verktyget sätter ihop rätt flaggor i rätt ordning.

  4. 4

    Kopiera och kör

    Klistra in i din terminal; kommandot är en färdig rad, inte pseudokod.

Uppgifter som täcks

Uppgift Genererat kommando
Ångra senaste commit (behåll staged) git reset --soft HEAD~1
Ändra senaste commit-meddelandet git commit --amend -m "…"
Kasta alla oincheckade ändringar git restore . + git clean -fd
Skapa och byt till en ny gren git checkout -b feature/x
Ta bort gren lokalt och på distans git branch -d x + git push origin --delete x
Synka feature-gren med main git fetch origin + git rebase origin/main
Cherry-picka en commit git cherry-pick <sha>
Återställa en commit (säkert) git revert <sha>
Tagga och pusha en release git tag -a v1.0.0 -m "…" + git push origin v1.0.0
Tvinga reset av lokalt mot remote git fetch origin + git reset --hard origin/main

Kommandon markerade som säkra eller destruktiva

  • Säkra (går att ångra): commit, switch, checkout -b, revert, tag.
  • Destruktiva för den lokala arbetskatalogen: restore ., clean -fd, reset --hard.
  • Destruktiva för den delade historiken: push --force, filter-repo, rebase på grenar som andra använder.

Tips: kör riskabla kommandon som torrkörning

Innan git clean -fd, kör git clean -nd, flaggan -n skriver ut vad som skulle raderas utan att radera det. Samma idé för git rm: läs git status först.

Vanliga frågor

“Ångra” betyder olika saker. reset --soft HEAD~1 behåller dina ändringar staged så att du kan committa om dem; --mixed tar bort dem från staging; --hard kastar bort dem. Generatorn låter dig välja avsikten istället för att memorera flaggor.

revert skapar en ny commit som ångrar en gammal, säkert på en delad gren eftersom historiken bevaras. reset spolar tillbaka grenpekaren, vilket ändrar historiken och kräver en tvingad push om grenen är delad.

Ja, för uppgiften “ta bort en fil ur hela historiken”. Det är säkrare och snabbare än det utfasade filter-branch; du måste installera det separat (brew install git-filter-repo eller via pip).

Nej. Det skriver bara ut kommandot, att köra det är alltid ditt beslut, så att du kan granska flaggor och kontext innan du rör repot.

Relaterade verktyg

Verktyget finns på andra språk