Відновлення та скасування змін у файлах

Вступ до Git

George Boorman

Curriculum Manager, DataCamp

Помилка

Чотири файли у репозиторії; три додано до staging, один закомічено: report.md, mental health survey.csv і summary statistics.csv

Вступ до Git

Скасування змін (revert)

  • Повернення репозиторію до стану до попереднього коміту

  • git revert

    • Відновлює попередні версії й створює коміт
    • Відновлює усі файли, змінені в цьому коміті
    • a845edcb, ebe93178 тощо
    • HEAD, HEAD~1 тощо
git revert HEAD
Вступ до Git

Скасування змін (revert)

git revert HEAD

Текстовий редактор показує повідомлення коміту

  • Зберегти: Ctrl + O, потім Enter
  • Вийти: Ctrl + X
Вступ до Git

Скасування змін (revert)

[main 7d11f79] Revert "Adding fresh data for the survey."
 Date: Tue Jul 30 14:17:56 2024 +0000
 1 file changed, 3 deletions(-)
Вступ до Git

Прапорці git revert

  • Щоб не відкривати текстовий редактор
    git revert --no-edit HEAD
    

 

  • Скасувати без коміту (перенести файли у staging)
    git revert -n HEAD
    
Вступ до Git

Повернення одного файла

  • git revert працює з комітами, а не окремими файлами

  • Щоб повернути один файл:

    • git checkout
    • Використайте хеш коміту або синтаксис HEAD
git checkout HEAD~1 -- report.md
Вступ до Git

Перевірка checkout

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

        modified:   report.md
Вступ до Git

Створення коміту

git commit -m "Checkout previous version of report.md"
[main daa6c87] Checkout previous version of report.md
 1 file changed, 1 deletion(-)
Вступ до Git

Вилучення файла зі staging

Чотири файли у репозиторії; три додано до staging: report.md, mental health survey.csv і summary statistics.csv

Вступ до Git

Вилучення файла зі staging

Summary statistics переміщено зі staging назад у репозиторій

Вступ до Git

Вилучення одного файла зі staging

  • Щоб прибрати один файл зі staging:
git restore --staged summary_statistics.csv
  • Відредагуйте файл
git add summary_statistics.csv
git commit -m "Adding age summary statistics"
Вступ до Git

Вилучення всіх файлів зі staging

  • Щоб прибрати всі файли зі staging:
git restore --staged
Вступ до Git

Підсумок

Команда Результат
git revert HEAD Скасувати всі файли з указаного коміту
git revert HEAD --no-edit Скасувати без відкриття текстового редактора
git revert HEAD -n Скасувати без створення нового коміту
git checkout HEAD~1 -- report.md Повернути один файл із попереднього коміту
git restore --staged report.md Прибрати один файл зі staging
git restore --staged Прибрати всі файли зі staging
Вступ до Git

Давайте потренуємось!

Вступ до Git

Preparing Video For Download...