- CHI TIẾT từng bước REVERT cho trường hợp đã merge và đã push lên GitHub server
🔹 Bước 1: Checkout vào branch đã bị merge
Ví dụ merge vào main:
git checkout main
git pull
📌 Đảm bảo bạn đang ở branch đúng và code mới nhất
🔹 Bước 2: Tìm merge commit
git log --oneline
Bạn sẽ thấy dạng như:
a1b2c3d Merge branch 'feature/login' into main
👉 Copy hash (a1b2c3d)
🔹 Bước 3: Revert merge commit
git revert -m 1 a1b2c3d
📌 Giải thích -m 1
1= giữ branch main- undo toàn bộ thay đổi từ branch được merge vào
⚠️ BẮT BUỘC phải có -m khi revert merge
🔹 Bước 4: Resolve conflict (nếu có)
Nếu Git báo conflict:
git status
- Mở file bị conflict
- Sửa
- Sau đó:
git add .
git revert --continue
🔹 Bước 5: Push lên GitHub
git push
🎉 Xong! Merge đã được undo an toàn
✅ Kết quả bạn sẽ thấy
- GitHub có commit mới dạng:
Revert "Merge branch 'feature/login' into main" - Code quay về trạng thái trước khi merge
- Lịch sử vẫn rõ ràng 👌
🟢 Cách khác (nếu merge bằng Pull Request)
👉 Vào Pull Request đã merge
👉 Bấm Revert
👉 GitHub tự tạo PR undo
✔️ Không cần terminal
✔️ Rất an toàn
Để lại một phản hồi