Git Diff
Git Diff
Để biết mình đã đổi gì trước khi commit, bạn cần một cách xem thay đổi từng dòng. Đó là việc của git diff.
1. git diff là gì?
git diff so sánh nội dung giữa hai trạng thái của dự án và in ra từng dòng khác nhau. Tùy tham số, nó so sánh các cặp khác nhau giữa thư mục làm việc working directory, vùng staging staging area và HEAD (commit cuối).
2. Các dạng thường dùng
| Lệnh | So sánh |
|---|---|
git diff | working vs staged (chưa add) |
git diff --staged | staged vs HEAD (sắp commit) |
git diff HEAD | working vs HEAD (toàn bộ) |
# Thay đổi chưa stage
git diff
# Thay đổi đã stage, sắp được commit
git diff --staged
3. Đọc diff output
@@ -10,3 +10,4 @@
- console.log("old");
+ console.log("new");
Dòng - là dòng bị xóa, dòng + là dòng được thêm, dòng không dấu là ngữ cảnh giữ nguyên. Header @@ ... @@ cho biết vị trí đoạn thay đổi.
Cách nhớ nhanh
git diff = chưa add (working vs staged); git diff --staged = đã add, sắp commit (staged vs HEAD). Trừ là xóa, cộng là thêm.