git odwracanie zmian - ghdrako/doc_snipets GitHub Wiki

  • git restore
  • git reset
  • git revert

git restore

discard changes in working directory

git restore file

git reset

git reset odwraca zmiany poprzez przesunięcie referencji gałęzi wstecz w czasie do starszego commita. Można myśleć o tym jako "przepisywaniu historii"; "resetowanie" spowoduje cofnięcie gałęzi, tak jakby commit nigdy nie został dodany.

git reset HEAD~1 # biezacy branch bedzie wskazywal na poprzedni commit
git reset --hard HEAD^ 
# or
git reset --hard @{1} HEAD

git revert

Mimo że resetowanie działa świetnie w przypadku lokalnych gałęzi na twoim komputerze, jego metoda "przepisywania historii" nie działa dla gałęzi zdalnych, które są używane przez innych.

W celu odwrócenia zmian i podzielenia się nimi z innymi, musimy użyć git revert.

git revert HEAD  # dodaje commita w biezacej galezi ktory odwraca zmiany poprzedniego
# It also takes ranges. This will revert the last two commits:
git revert HEAD~2..HEAD
# range of co mit using hashes
git revert 0d1d7fc..a867b4a