Bước 1: Xem Lịch Sử – “Nhìn Lại Hành Trình”

Bạn đã có repo my-first-repo với vài commit (từ bài 3). Để xem lịch sử, dùng lệnh:

git log

Kết quả sẽ hiện:

commit abc1234 (HEAD -> master)
Author: Your Name <your.email@example.com>
Date:   Thu Oct 10 12:00:00 2023 +0700
    Add superhero message

commit def5678
    Update hello.txt with welcome message

commit ghi9012
    Add hello.txt with greeting message

Mình từng hoảng khi log dài loằng ngoằng, nhưng chỉ cần cuộn lên là thấy hết! Thử thêm option --oneline để ngắn gọn:

git log --oneline

Kết quả:

abc1234 Add superhero message
def5678 Update hello.txt with welcome message
ghi9012 Add hello.txt with greeting message

Dễ thở hơn nhiều, đúng không?

Bước 2: Quay Lại Quá Khứ – Checkout Một Commit

Muốn xem lại phiên bản cũ? Dùng checkout với mã commit (VD: ghi9012):

git checkout ghi9012

File hello.txt giờ sẽ trở về trạng thái “Hello, Git!”. Kiểm tra nội dung:

cat hello.txt

Nhưng cẩn thận: Bạn đang ở “detached HEAD” – không trên nhánh nào. Để quay lại nhánh hiện tại:

git checkout master

Mình từng quên quay lại, làm commit mới “mất tích” – mất cả buổi tìm cách khôi phục!

Bước 3: Undo Thay Đổi – Cứu Code Khi Sai

Nếu lỡ sửa file mà chưa commit, bạn có thể “hủy”:

Nếu đã commit nhưng muốn sửa, dùng amend:

echo "Oops!" >> hello.txt
git add hello.txt
git commit --amend -m "Add superhero message + Oops fix"

Lệnh này cập nhật commit cuối. Mình từng dùng amend sai, ghi đè nhầm commit – may mà backup kịp!

Bước 4: Reset Nếu Muốn “Xóa Sạch”

Nếu muốn quay về một commit cũ và xóa các commit sau:

git reset --hard def5678

Tất cả thay đổi sau def5678 sẽ biến mất! Dùng --soft nếu chỉ muốn giữ thay đổi trong staging. Mình hay backup code trước khi reset – phòng hờ “lỡ tay”!

Mẹo Nhỏ Để Thành Công

Thử Ngay

Thêm dòng “Test undo!” vào hello.txt, commit với “Add test message”. Sau đó, dùng git reset --hard để quay về commit trước. Kiểm tra hello.txt và nhắn mình kết quả nếu bạn muốn chia sẻ nhé! Bài sau, ta sẽ khám phá nhánh – “đường cao tốc” của Git – hóng lắm đây!

Điều hướng chuỗi bài viết<< Bài 3: Git Commit Như Siêu Nhân – Lưu Lại Mọi Thay Đổi
>> Bài 5: Git branch – Làm Việc Với Branch
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận