Git cho phép bạn ghi đè lịch sử — amend, rebase, squash hoặc xóa các commit — để dọn dẹp các commit hoặc sửa các vấn đề. Nó mạnh nhưng phải được làm cẩn thận: ghi đè lịch sử dùng chung gây ra các vấn đề nghiêm trọng, nên các quy tắc quanh nó là then chốt.
Các cách ghi đè lịch sử
git commit --amend → sửa commit gần nhất (message hoặc nội dung)
git rebase -i → squash, reword, sắp xếp lại, chỉnh, bỏ các commit (tương tác)
git rebase <branch> → phát lại các commit lên một base khác (lịch sử tuyến tính)
git reset → di chuyển con trỏ branch (bỏ/un-commit)
git filter-repo → ghi đè NHIỀU commit (xóa một tệp/secret khỏi toàn bộ lịch sử)
→ Tất cả những cái này đổi HASH commit (ghi đè = tạo các commit mới, khác).
