Hủy commit cuối bằng lệnh git reset
Khi đã thực hiện commit, commit đó chưa public (chưa đẩy lên Remote Repo bằng lệnh
git push) thì bạn có thể hủy (undo) commit đó với hai trường hợp
bằng lệnh git reset
như sau:
git reset với tham số --soft
Trường hợp này sẽ hủy commit cuối, con trỏ HEAD sẽ chuyển về commit cha. Đồng thời những thay đổi của commit cuối được chuyển vào vùng staging nhằm để có cơ hội commit lại hoặc sửa đổi, cú pháp lệnh như sau:
git reset --soft HEAD~1
git reset với tham số --hard
Khi dùng tham số --hard
thì kết quả giống với dùng tham số --soft
, chỉ có một khác biết là nội dung thay đổi của commit cuối không đưa đưa vào staging
mà bị hủy luôn.
Trường hợp này dùng khi bạn quyết định hủy hoàn toàn commit cuối
git reset --hard HEAD~1
Các Video: Sử dụng Git, GitHub
Một vài trường hợp dùng git reset khác
Hủy git add
Nếu bạn đã dùng lệnh git add để cập nhật thay đổi vào vùng staging, bạn có thể hủy thao tác này bằng cách thực hiện lệnh:
git reset
Hủy đưa một file vào staging
Nếu muốn hủy một file nào đó trong vùng staging chứ không phải toàn bộ thì dùng lệnh
git reset -- filename