Cách khôi phục commit lỡ tay xóa nhầm

Nội dung

Khôi phục commit đã xóa trong Git là một trong những tác vụ quan trọng mà mọi người phải biết khi sử dụng Git để quản lý mã nguồn. Tuy nhiên, việc xóa một commit có thể dẫn đến một số sai sót trong quá trình phát triển phần mềm.

Khôi phục commit đã xóa có thể được thực hiện bằng cách sử dụng các lệnh Git như “git reflog” hoặc “git log“. Trong bài viết này, tôi sẽ hướng dẫn cách khôi phục commit đã xóa bằng cách sử dụng cả hai cách để cho bạn có thể chọn phương pháp phù hợp nhất với nhu cầu của mình.

Cách 1: Sử dụng lệnh “git reflog”

“Git reflog” là một lệnh cung cấp cho chúng ta một lịch sử chi tiết về tất cả các hoạt động Git từ khi bạn cài đặt Git trên máy tính của bạn. Bạn có thể sử dụng lệnh “git reflog” để khôi phục commit đã xóa như sau:

  1. Mở Terminal hoặc Command Prompt và chuyển đến thư mục chứa repository của bạn.
  2. Chạy lệnh “git reflog” để xem danh sách tất cả các hoạt động Git trong lịch sử của repository của bạn.
git reflog
  1. Tìm commit bạn muốn khôi phục trong danh sách các hoạt động. Mỗi commit sẽ có một số hash duy nhất để xác định nó.
  2. Chạy lệnh “git checkout” với số hash của commit bạn muốn khôi phục.
git checkout <hash-of-commit>
  1. Sau khi chạy lệnh trên, bạn sẽ được chuyển về branch mà commit đó nằm trên và có thể tiếp tục làm việc từ đó.

Cách 2: Sử dụng lệnh “git log”

“Git log” là một lệnh cho phép bạn xem lịch sử các commit trong một repository Git. Bạn có thể sử dụng lệnh “git log” để khôi phục commit đã xóa như sau:

  1. Mở Terminal hoặc Command Prompt và chuyển đến thư mục chứa repository của bạn.
  2. Chạy lệnh “git log” để xem danh sách tất cả các commit trong repository của bạn.
$ git log
  1. Tìm commit bạn muốn khôi phục trong danh sách các commit. Mỗi commit sẽ có một số hash duy nhất để xác định nó.
  2. Chạy lệnh “git checkout” với số hash của commit bạn muốn khôi phục.
$ git checkout <hash-of-commit>
  1. Sau khi chạy lệnh trên, bạn sẽ được chuyển về branch mà commit đó nằm trên và có thể tiếp tục làm việc từ đó. Tuy nhiên, lưu ý rằng khi bạn khôi phục một commit đã xóa, nó có thể gây ra sự không tương thích với những commit đứng sau nó trong lịch sử. Vì vậy, hãy chắc chắn rằng bạn hiểu rõ tác dụng của việc khôi phục một commit trước khi thực hiện.

Đó là hai cách để khôi phục một commit đã xóa trong Git. Nếu bạn cần hỗ trợ thêm, hãy để lại một câu hỏi. Tôi sẽ sẵn sàng trả lời cho bạn.

Khôi phục bằng reflog sau khi xóa commit hoặc branch

Khôi phục Code bằng Git reflog

Git recovery reset –hard

Xem thêm: Các lỗi thường gặp khi làm việc với git

Xem thêm: Đổi tên local branch và remote branch khi sử dụng Git

Anthony Nguyễn

Cây bút chính tại VietnamTutor

Bài viết cùng chuyên mục

Nâng cấp Laravel 13: Checklist 10 bước cần kiểm tra

Hướng dẫn nâng cấp Laravel 13 chi tiết với checklist 10 bước. Từ kiểm tra PHP 8.3, cập nhật dependencies, đến xử lý lỗi thường gặp

Hardening Laravel production: Checklist bảo mật cần làm

Checklist hardening Laravel production toàn diện. Từ cấu hình server, database, SSL đến security headers, rate limiting và monitoring.

Authentication và authorization trong Laravel: Cách phân biệt

Hướng dẫn chi tiết cách xây dựng hệ thống Authentication (xác thực) và Authorization (phân quyền) trong Laravel với Breeze, Fortify, Sanctum, Policies và Gates.

Bảo mật Laravel: 10 lỗi phổ biến và cách phòng tránh

Hướng dẫn 10 lỗi bảo mật phổ biến nhất trong Laravel và cách phòng tránh hiệu quả. Từ XSS, SQL injection đến authentication vulnerabilities.

Migration PHP Attributes Laravel 13: Hướng Dẫn Chi Tiết

Cách chuyển đổi từ protected properties sang PHP Attributes trong Laravel 13 với hướng dẫn từng bước và code examples chi tiết.

Laravel 13 có gì mới? Các thay đổi cần biết

Laravel 13 ra mắt ngày 17/3/2026 với PHP 8.3, PHP Attributes, AI SDK và nhiều cải tiến. Khám phá chi tiết các tính năng mới của

Kubernetes cho người mới: Hướng dẫn nhập môn

Kubernetes (K8s) là nền tảng container orchestration phổ biến nhất hiện nay. Bài hướng dẫn này sẽ giúp bạn hiểu Kubernetes là gì, kiến trúc cơ

Docker Compose best practices: 10 cách cấu hình tốt hơn

Docker Compose giúp bạn quản lý multi-container applications dễ dàng hơn. Bài viết này tổng hợp 10 best practices quan trọng nhất để sử dụng Docker

Lỗ hổng RCE (CVE-2025-55182) trên React, Next.js?

Cảnh báo khẩn cấp: React2Shell (CVE-2025-55182) gây RCE nghiêm trọng cho React/Next.js. Nắm cơ chế, dấu hiệu & phòng thủ cấp bách để bảo vệ ứng

Lập trình viên: Xây doanh nghiệp một người, kiếm 10.000 USD/tháng

Lập trình viên: Khám phá khung làm việc để xây dựng doanh nghiệp một người, kiếm 10.000 USD/tháng. Biến kỹ năng code thành cỗ máy tiền,

Dead-Letter Queue (DLQ) là gì? Cách hoạt động và code mẫu

Dead-Letter Queue giúp cô lập tin nhắn lỗi khỏi luồng chính. Tìm hiểu cách DLQ hoạt động, retry, redrive và triển khai với Amazon SQS, RabbitMQ.