git-advanced-workflows
Opanuj zaawansowane techniki Git: rebase, cherry-pick, bisect i reflog do czystej historii i odzyskiwania danych.
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do zarządzania złożonymi historami Git i współpracy nad gałęziami. Nauczysz się interaktywnego rebasu do edycji commitów, cherry-pickingu do przenoszenia zmian między gałęziami, bisectu do wyszukiwania bugów oraz reflogu do odzyskiwania utraconego kodu. Idealny dla programistów pracujących nad wieloma funkcjami jednocześnie, przygotowujących czystą historię do pull requestów lub rozwiązujących problemy w repozytorium.
Jak używać
Zainstaluj skill w swoim środowisku agenta, dodając go do konfiguracji narzędzi deweloperskich.
Aby wyczyścić historię commitów przed mergem, użyj interaktywnego rebasu: uruchom
git rebase -i HEAD~5(dla ostatnich 5 commitów) lubgit rebase -i $(git merge-base HEAD main)(dla wszystkich commitów na bieżącej gałęzi). W edytorze zmień operacje:pickaby zachować commit,rewordaby zmienić wiadomość,squashaby połączyć z poprzednim commitem,fixupaby połączyć bez wiadomości, lubdropaby usunąć commit.Aby przenieść konkretne commity z jednej gałęzi na drugą bez mergowania całej gałęzi, użyj cherry-picka:
git cherry-pick abc123(pojedynczy commit),git cherry-pick abc123..def456(zakres commitów), lubgit cherry-pick -e abc123(z możliwością edycji wiadomości).Aby znaleźć commit, który wprowadził bug, uruchom
git bisect start, oznacz bieżący commit jako zły (git bisect bad), wskaż znany dobry commit (git bisect good abc123), a następnie Git będzie binarnie przeszukiwać historię — odpowiadajgit bisect badlubgit bisect goodna każdym kroku aż do znalezienia problematycznego commita.Aby pracować nad wieloma funkcjami jednocześnie bez przełączania gałęzi, użyj worktrees:
git worktree add ../feature-branch feature-nametworzy osobny katalog roboczy dla nowej gałęzi, pozwalając pracować równolegle.Aby odzyskać utracone commity lub zmiany, sprawdź reflog:
git reflogpokazuje historię zmian HEAD, agit checkout abc123lubgit reset abc123przywraca utracone dane.