Xử lý lỗi phổ biến trong Git & GitHub
git add
trước khi commit
1. Quên Triệu chứng: git commit
xong mà không thấy file được lưu.
Cách xử lý:
git add .
git commit --amend
--amend
giúp bạn sửa lại commit cuối cùng.
2. Push sai lên GitHub
Cách sửa commit và push lại:
git commit --amend
git push --force
⚠️ Chỉ dùng
--force
nếu bạn chắc chắn, và không ai khác đang dùng chung nhánh!
3. Quên pull code trước khi push → bị lỗi reject
Thông báo lỗi:
error: failed to push some refs to 'origin/main'
Cách xử lý:
git pull origin main --rebase
git push
--rebase
giúp lịch sử sạch hơn so với merge.
4. Xung đột khi merge (merge conflict)
Cách xử lý:
- Mở file bị conflict, tìm đoạn như sau:
<<<<<<< HEAD
Nội dung của bạn
=======
Nội dung của người khác
>>>>>>> ten-nhanh
- Giải quyết bằng tay → xoá
<<<<<<<
,=======
,>>>>>>>
- Rồi:
git add <file>
git commit
5. Lỡ xoá file nhưng chưa commit
Khôi phục lại:
git restore <file>
6. Lỡ commit nhưng chưa push, muốn chỉnh sửa nội dung
# Sửa lại nội dung code
git add .
git commit --amend
7. Lỡ commit sai email hoặc tên
git config --global user.name "Tên đúng"
git config --global user.email "Email đúng"
Nếu muốn sửa commit cũ:
git commit --amend --reset-author
8. Lỡ push nhầm branch
Bạn có thể xóa nhánh đó khỏi GitHub:
git push origin --delete ten-nhanh
9. Undo các loại hành động
Hành động | Cách undo |
---|---|
Undo add | git reset <file> |
Undo commit chưa push | git reset --soft HEAD~1 |
Undo commit + quay lại code | git reset --hard HEAD~1 |
Lỡ sửa file chưa add/commit | git restore <file> |
Khôi phục file từ commit cũ | git checkout <commit-hash> -- <file> |
10. Xem lại lịch sử hành động
git log
git log --oneline
git reflog
git reflog
giúp bạn quay về một trạng thái trước đó nếu "toang".
✅ Tổng kết:
- Git rất linh hoạt, gần như mọi lỗi đều có thể cứu vãn.
- Luôn kiểm tra kỹ trước khi dùng
push --force
hayreset --hard
. git log
,git status
,git diff
,git reflog
là "bộ cứu sinh".