Git Restore
Git Restore
git restore là lệnh hiện đại để hoàn tác thay đổi chưa commit, tách ra từ git checkout cho rõ nghĩa hơn.
1. Bỏ thay đổi trong working directory
Khôi phục một file đã sửa (chưa stage) về như ở HEAD:
# Vứt bỏ thay đổi chưa stage của một file
git restore app.js
Thao tác này phá hủy thay đổi chưa commit — không khôi phục lại được.
2. Unstage với --staged
Đã git add nhưng đổi ý, muốn gỡ khỏi vùng staging staging area mà vẫn giữ nội dung đã sửa:
# Đưa file ra khỏi staging, giữ thay đổi trong working dir
git restore --staged app.js
| Lệnh | Tác động | Mất dữ liệu? |
|---|---|---|
git restore <file> | Bỏ thay đổi (về HEAD) | Có |
git restore --staged <file> | Unstage, giữ nội dung | Không |
3. Quan hệ với checkout
git restore thay thế phần "hoàn tác file" của git checkout. Cú pháp cũ git checkout -- <file> vẫn chạy được và tương đương git restore <file>.
Cách nhớ nhanh
restore <file> = bỏ thay đổi (nguy hiểm). restore --staged <file> = unstage (an toàn, giữ code).