Przywracanie i cofanie plików

Wprowadzenie do Git

George Boorman

Curriculum Manager, DataCamp

Popełnienie błędu

Cztery pliki w repozytorium, z których trzy są w obszarze staging, a jeden jest zacommitowany: report.md, mental health survey.csv i summary statistics.csv

Wprowadzenie do Git

Cofanie plików

  • Przywracanie repozytorium do stanu sprzed poprzedniego commitu

  • git revert

    • Przywraca poprzednie wersje i tworzy commit
    • Przywraca wszystkie pliki zaktualizowane w danym commicie
    • a845edcb, ebe93178 itp.
    • HEAD, HEAD~1 itp.
git revert HEAD
Wprowadzenie do Git

Cofanie plików

git revert HEAD

Edytor tekstu pokazujący commit

  • Zapisz: Ctrl + O, następnie Enter
  • Wyjdź: Ctrl + X
Wprowadzenie do Git

Cofanie plików

[main 7d11f79] Revert "Adding fresh data for the survey."
 Date: Tue Jul 30 14:17:56 2024 +0000
 1 file changed, 3 deletions(-)
Wprowadzenie do Git

Flagi git revert

  • Unikaj otwierania edytora tekstu
    git revert --no-edit HEAD
    

 

  • Cofnij bez commitu (przenieś pliki do obszaru staging)
    git revert -n HEAD
    
Wprowadzenie do Git

Cofanie pojedynczego pliku

  • git revert działa na commitach, nie na pojedynczych plikach

  • Aby cofnąć pojedynczy plik:

    • git checkout
    • Użyj hasha commitu lub składni HEAD
git checkout HEAD~1 -- report.md
Wprowadzenie do Git

Weryfikacja checkout

git status
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)

        modified:   report.md
Wprowadzenie do Git

Tworzenie commitu

git commit -m "Checkout previous version of report.md"
[main daa6c87] Checkout previous version of report.md
 1 file changed, 1 deletion(-)
Wprowadzenie do Git

Usuwanie pliku z obszaru staging

Cztery pliki w repozytorium, z których trzy są dodane do obszaru staging: report.md, mental health survey.csv i summary statistics.csv

Wprowadzenie do Git

Usuwanie pliku z obszaru staging

Summary statistics jest przenoszony z obszaru staging z powrotem do repozytorium

Wprowadzenie do Git

Usuwanie pojedynczego pliku z obszaru staging

  • Aby usunąć pojedynczy plik z obszaru staging:
git restore --staged summary_statistics.csv
  • Edytuj plik
git add summary_statistics.csv
git commit -m "Adding age summary statistics"
Wprowadzenie do Git

Usuwanie wszystkich plików z obszaru staging

  • Aby usunąć wszystkie pliki z obszaru staging:
git restore --staged
Wprowadzenie do Git

Podsumowanie

Polecenie Wynik
git revert HEAD Cofa wszystkie pliki z danego commitu
git revert HEAD --no-edit Cofa bez otwierania edytora tekstu
git revert HEAD -n Cofa bez tworzenia nowego commitu
git checkout HEAD~1 -- report.md Cofa pojedynczy plik z poprzedniego commitu
git restore --staged report.md Usuwa pojedynczy plik z obszaru staging
git restore --staged Usuwa wszystkie pliki z obszaru staging
Wprowadzenie do Git

Czas na ćwiczenia!

Wprowadzenie do Git

Preparing Video For Download...