4 phút đọc

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 areavẫ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ệnhTác độngMất dữ liệu?
git restore <file>Bỏ thay đổi (về HEAD)
git restore --staged <file>Unstage, giữ nội dungKhô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).