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

Git reset revert restore: chọn lệnh đúng

Bài viết so sánh git reset, git revert và git restore theo mục đích sử dụng: sửa staging area, khôi phục file, undo commit chưa push

Git commit vào nhánh sai: cách chuyển an toàn

Bài viết hướng dẫn xử lý git commit vào nhánh sai theo từng tình huống: commit chưa push, đã push, nhiều commit liên tiếp hoặc branch

TypeScript cho website doanh nghiệp: API, form và lỗi

TypeScript cho website doanh nghiệp đáng dùng khi bạn cần kiểm soát API contract, form schema, CMS payload và cấu hình môi trường. Bài này giúp

React Server Components performance: khi nào nên dùng?

React Server Components performance không phải phép màu. Bài này giúp bạn biết khi nào RSC giảm JavaScript thật, khi nào làm kiến trúc phức tạp

Git commit nhầm file: bỏ file khỏi commit an toàn

Bài viết hướng dẫn xử lý git commit nhầm file theo từng tình huống: chưa commit, đã commit chưa push, đã push lên remote, hoặc lỡ

Git reflog: khôi phục commit đã mất an toàn

Bài viết hướng dẫn dùng git reflog để khôi phục commit đã mất sau reset, rebase, amend hoặc xóa nhánh. Bạn sẽ biết cách đọc reflog,

Git pull bị conflict: cách sửa không mất code

Bài viết hướng dẫn cách xử lý git pull bị conflict theo từng bước: kiểm tra trạng thái, sửa file xung đột, test lại và hoàn

Next.js production performance: chọn SSR, SSG, ISR hay Edge

Bài viết giúp developer và tech lead chọn cách render phù hợp để tối ưu Next.js production performance mà không làm kiến trúc phức tạp quá

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.