Chức năng Git Stash trên Git thực sự là một công cụ hữu ích. Nó giúp tôi duy trì sự sạch sẽ và tổ chức trong quản lý mã nguồn. Tuy nhiên, như mọi công cụ, đôi khi bạn có thể gặp phải những sự cố không mong muốn. Hôm nay, tôi đã gặp phải một tình huống khá khó khăn khi vô tình chạy lệnh “git stash drop” ngay sau khi lưu trạng thái. Ban đầu, tưởng chừng như không còn cách nào để khôi phục, nhưng may mắn, Git vẫn cung cấp cho chúng ta một giải pháp. Hãy cùng tôi chia sẻ trải nghiệm này qua bài viết dưới đây.
Khôi phục 1 Git stash drop
Khi bạn thực hiện lệnh git stash với tham số drop chúng ta sẽ thấy 1 mã hash như sau:
Rất may Git vẫn còn lưu trữ nó sau khi drop, vì vậy để khôi phục nó bạn hãy chạy lệnh sau:
git stash apply <stash_hash>
Ngoài ra bạn có thể tạo 1 branch từ stash hash đã xóa
git branch recovered $stash_hash
Tìm stash hash
Nhỡ may bạn cũng kịp lưu lại stash hash đã xóa thì có thể tìm bằng các cách sau đây:
Sử dụng command trong Linux/Unix hoặc Git bash trên Windows
git fsck --no-reflog | awk '/dangling commit/ {print $3}'
Hoặc Powershell trên Windows
git fsck --no-reflog | awk '/dangling commit/ {print $3}'
Vậy là có thể an tâm phần nào rồi.