Khôi phục và hoàn nguyên tệp

Giới thiệu về Git

George Boorman

Curriculum Manager, DataCamp

Gây lỗi

Bốn tệp trong repo, ba tệp đã vào staging và một tệp đã commit: report.md, mental health survey.csv và summary statistics.csv

Giới thiệu về Git

Hoàn nguyên tệp

  • Khôi phục repo về trạng thái trước commit gần nhất

  • git revert

    • Khôi phục phiên bản trước và tạo một commit
    • Khôi phục mọi tệp được cập nhật trong commit đó
    • a845edcb, ebe93178, v.v.
    • HEAD, HEAD~1, v.v.
git revert HEAD
Giới thiệu về Git

Hoàn nguyên tệp

git revert HEAD

Trình soạn thảo văn bản hiển thị nội dung commit

  • Lưu: Ctrl + O, rồi Enter
  • Thoát: Ctrl + X
Giới thiệu về Git

Hoàn nguyên tệp

[main 7d11f79] Revert "Adding fresh data for the survey."
 Date: Tue Jul 30 14:17:56 2024 +0000
 1 file changed, 3 deletions(-)
Giới thiệu về Git

Các cờ của git revert

  • Tránh mở trình soạn thảo
    git revert --no-edit HEAD
    

 

  • Hoàn nguyên mà không commit (đưa tệp vào staging)
    git revert -n HEAD
    
Giới thiệu về Git

Hoàn nguyên một tệp

  • git revert áp dụng cho commit, không phải từng tệp

  • Để hoàn nguyên một tệp:

    • git checkout
    • Dùng mã commit hoặc cú pháp HEAD
git checkout HEAD~1 -- report.md
Giới thiệu về Git

Kiểm tra sau khi checkout

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

        modified:   report.md
Giới thiệu về Git

Tạo commit

git commit -m "Checkout previous version of report.md"
[main daa6c87] Checkout previous version of report.md
 1 file changed, 1 deletion(-)
Giới thiệu về Git

Bỏ staging một tệp

Bốn tệp trong repo, trong đó ba tệp được thêm vào staging: report.md, mental health survey.csv và summary statistics.csv

Giới thiệu về Git

Bỏ staging một tệp

Summary statistics được chuyển từ staging về repo

Giới thiệu về Git

Bỏ staging một tệp riêng lẻ

  • Để bỏ staging một tệp:
git restore --staged summary_statistics.csv
  • Chỉnh sửa tệp
git add summary_statistics.csv
git commit -m "Adding age summary statistics"
Giới thiệu về Git

Bỏ staging tất cả tệp

  • Để bỏ staging tất cả tệp:
git restore --staged
Giới thiệu về Git

Tóm tắt

Lệnh Kết quả
git revert HEAD Hoàn nguyên tất cả tệp từ một commit
git revert HEAD --no-edit Hoàn nguyên mà không mở trình soạn thảo
git revert HEAD -n Hoàn nguyên mà không tạo commit mới
git checkout HEAD~1 -- report.md Hoàn nguyên một tệp từ commit trước
git restore --staged report.md Gỡ một tệp khỏi staging
git restore --staged Gỡ mọi tệp khỏi staging
Giới thiệu về Git

Let's practice!

Giới thiệu về Git

Preparing Video For Download...