Generator komend Git

Dalej

Każdy programista przynajmniej dwa razy szukał w Google “jak cofnąć ostatniego commita”. Zamiast zgadywać między reset --soft, reset --mixed a reset --hard, wybierz zadanie z listy, a generator wypisze dokładną komendę z uzupełnioną nazwą gałęzi, SHA commita lub nazwą taga.

Jak wygenerować komendę Git

  1. 1

    Wybierz zadanie

    Cofnij ostatniego commita, popraw komunikat, zrób rebase na main, cherry-pick, wymuś reset do zdalnego repozytorium, otaguj wydanie…

  2. 2

    Uzupełnij parametry

    Nazwa gałęzi, SHA commita, tag, tylko pola potrzebne dla danego zadania.

  3. 3

    Przeczytaj komendę

    Narzędzie składa właściwe flagi we właściwej kolejności.

  4. 4

    Skopiuj i uruchom

    Wklej do terminala; komenda to gotowa linia do wpisania, a nie pseudokod.

Obsługiwane zadania

Zadanie Wygenerowana komenda
Cofnij ostatniego commita (zachowaj staged) git reset --soft HEAD~1
Zmień komunikat ostatniego commita git commit --amend -m "…"
Odrzuć wszystkie niezacommitowane zmiany git restore . + git clean -fd
Utwórz nową gałąź i przełącz się na nią git checkout -b feature/x
Usuń gałąź lokalnie i zdalnie git branch -d x + git push origin --delete x
Zsynchronizuj gałąź funkcji z main git fetch origin + git rebase origin/main
Cherry-pick commita git cherry-pick <sha>
Cofnij commita (bezpiecznie) git revert <sha>
Otaguj i wypchnij wydanie git tag -a v1.0.0 -m "…" + git push origin v1.0.0
Wymuś reset lokalnej gałęzi do zdalnej git fetch origin + git reset --hard origin/main

Komendy oznaczone jako bezpieczne lub destrukcyjne

  • Bezpieczne (odwracalne): commit, switch, checkout -b, revert, tag.
  • Destrukcyjne dla lokalnego drzewa roboczego: restore ., clean -fd, reset --hard.
  • Destrukcyjne dla współdzielonej historii: push --force, filter-repo, rebase na gałęziach używanych przez innych.

Wskazówka: uruchom ryzykowne komendy na sucho

Przed git clean -fd uruchom git clean -nd, flaga -n wypisuje, co zostałoby usunięte, bez faktycznego usuwania. Ta sama zasada dotyczy git rm: najpierw przeczytaj git status.

Najczęściej zadawane pytania

Bo “cofnięcie” oznacza różne rzeczy. reset --soft HEAD~1 zachowuje Twoje zmiany w staged, żebyś mógł je ponownie zacommitować; --mixed wyciąga je ze staged; --hard je usuwa. Generator pozwala wybrać zamierzenie, zamiast uczyć się flag na pamięć.

revert tworzy nowego commita, który cofa stary, bezpieczne na współdzielonej gałęzi, bo historia zostaje zachowana. reset cofa wskaźnik gałęzi, co zmienia historię i wymaga wymuszonego push, jeśli gałąź jest współdzielona.

Tak, dla zadania “usuń plik z całej historii”. Jest bezpieczniejszy i szybszy niż przestarzały filter-branch; musisz go zainstalować osobno (brew install git-filter-repo lub przez pip).

Nie. Tylko wypisuje komendę, jej uruchomienie zawsze zależy od Ciebie, więc możesz sprawdzić flagi i kontekst, zanim ruszysz repozytorium.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach