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

Quy trình vibe coding 7 bước: từ ý tưởng đến prototype

Quy trình vibe coding hiệu quả bắt đầu từ giả thuyết kinh doanh, không phải prompt dài. Bài viết hướng dẫn 7 bước từ brief, dữ

Vibe coding cho doanh nghiệp: việc nào nên làm bằng AI?

Vibe coding cho doanh nghiệp hữu ích khi cần thử prototype, dashboard hoặc automation nhỏ. Bài viết giúp bạn phân loại use case theo mức rủi

AI viết code nhanh hơn review: kiểm soát thế nào?

Khi AI viết code nhanh hơn khả năng review của team, doanh nghiệp cần đổi cách kiểm soát chất lượng. Bài viết đưa ra framework thực

Git detached HEAD là gì? Cách thoát an toàn

Bài viết này giải thích detached HEAD trong Git, cách nhận biết trạng thái này và các bước thoát ra an toàn mà không mất code.

Rủi ro vibe coding: 9 lỗi khiến prototype khó vận hành

Bài viết này chỉ ra 9 rủi ro phổ biến khi vibe coding và cách kiểm soát để prototype không biến thành gánh nặng vận hành.

Vibe coding là gì? Cách thử ý tưởng phần mềm bằng AI

Vibe coding giúp chủ doanh nghiệp biến ý tưởng phần mềm thành prototype nhanh hơn bằng AI. Bài viết này chỉ ra khi nào nên thử,

GitHub Actions CI/CD: quy trình deploy website an toàn

Hướng dẫn xây pipeline GitHub Actions CI/CD cho website: build, test, cache dependency, đóng artifact, deploy staging/production và quản lý secret an toàn.

.gitignore không hoạt động: nguyên nhân và cách sửa

Bài viết giúp bạn kiểm tra vì sao .gitignore không hoạt động, sửa lỗi file đã tracked và dùng git check-ignore để debug pattern.

Git push bị rejected: cách sửa non-fast-forward

Bài viết giải thích vì sao git push bị rejected, cách đọc lỗi non-fast-forward và quy trình xử lý an toàn trước khi push lại.

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