Git Revert vs Git Reset: cofanie i dostosowywanie zmian w historii Git

Git Revert i Git Reset są dwoma ważnymi poleceniami w Git do cofania i dostosowywania zmian w commit historii repozytorium. Oto przewodnik, jak używać Git Revert i Git Reset:

 

Git Revert

  • Git Revert umożliwia utworzenie nowego zatwierdzenia w celu cofnięcia( revert) wcześniej zatwierdzonych zmian.

  • Aby revert a commit użyj następującego polecenia:

    git revert <commit_id>
    

    Zamień <commit_id> na identyfikator, który commit chcesz przywrócić. Zostanie utworzony nowy commit, cofając zmiany w wybranym pliku commit.

  • Revert nie zmienia commit historii, ale tworzy nową, commit aby cofnąć zmiany.

 

Git Reset

  • Git Reset pozwala wrócić do poprzedniego stanu poprzez przeniesienie HEAD gałęzi i bieżącej do określonego zatwierdzenia.

  • Git Reset ma trzy różne tryby: --soft, --mixed(default), and --hard.

  • Do bieżącej gałęzi do a reset użyj następującego polecenia: HEAD commit

    git reset --mode <commit_id>
    

    Zastąp <commit_id> identyfikatorem, commit do którego chcesz zresetować.

  • Git Reset tryby:

    • -soft: Przenosi HEAD gałąź i bieżącą do określonego commit, zachowując zmiany poprzedniej commit w obszarze przejściowym. Użyj polecenia git reset --soft <commit_id>.
    • --mixed: To jest tryb domyślny. Przenosi HEAD gałąź i bieżącą do określonego zatwierdzenia i usuwa zmiany poprzedniej commit z obszaru pomostowego. Użyj polecenia git reset --mixed <commit_id>.
    • --hard: Przenosi HEAD i bieżącą gałąź do określonego commit i odrzuca wszystkie zmiany poprzedniego pliku commit. Zachowaj ostrożność podczas korzystania z niego, ponieważ wszelkie niezatwierdzone zmiany zostaną utracone. Użyj polecenia git reset --hard <commit_id>.
    <commit_id>.
  • Git Reset zmienia commit historię i może spowodować utratę danych, więc używaj go ostrożnie.

 

Git Revert i Git Reset są potężnymi narzędziami do cofania i dostosowywania historii zatwierdzeń w Git. Używaj ich ostrożnie, aby zapewnić stabilność projektu i uniknąć utraty danych.