😭😭😭😭MỌI NGƯỜI ƠI CỨU EM, em lỡ tay bấm nhầm Undo changes:((
Sau khi code xong thì em có lỡ tay bấm nhầm nút undo changes(ảnh) trong Visual Studio 2022 mà chưa kịp lưu hay làm gì, thì mọi người có biết cách để khôi phục lại tất cả file đã bị undo đi không ạ. Em cần rất gấp mọi người giúp em với ạ ( Em cảm ơn😥😥😥
1 CÂU TRẢ LỜI
-
Nếu bạn chưa tạo commit cho các file đó thì không có cách nào khác để lấy lại các file đã xóa bằng git đâu. TH này chắc chỉ có nước dùng các phần mềm khôi phục file giống như trong bài này: https://www.thegioididong.com/hoi-dap/top-20-phan-mem-khoi-phuc-du-lieu-da-xoa-tren-o-cung-usb-1301314.
-
Nếu bạn đã từng tạo commit cho các file đó thì có thể khôi phục lại được về các commit đó. Bạn dùng lệnh:
git reflog -20
Nó sẽ hiện lịch sử 20 bước các sửa đổi của source code trong git. (Bỏ cái -20 cũng được). Sau đó dùng lệnh checkout
để quay về phiên bản mong muốn.
Mình ví dụ như này:
> git reflog
d2a2f9a (HEAD -> fix, master) HEAD@{0}: checkout: moving from master to fix
d2a2f9a (HEAD -> fix, master) HEAD@{1}: rebase -i (finish): returning to refs/heads/master
d2a2f9a (HEAD -> fix, master) HEAD@{2}: rebase -i (squash): refactor!: remove port binding to localhost for database services
a5968d7 HEAD@{3}: rebase -i (start): checkout HEAD~2
19aa40a (origin/master, origin/HEAD) HEAD@{4}: commit (amend): feat!: traefik has been compatible with multi-projects
d90af3a HEAD@{5}: commit: feat: traefik has been compatible with multi-projects
514f3d4 (upstream/master) HEAD@{6}: clone: from git@github.com:kimyvgy-forks/docker-php-development.git
> git checkout HEAD@{5}
Cảm ơn câu trả lời của anh nhé! Cái này đúng là không khôi phục được thật, lúc đấy mắt nhắm mắt mở bấm nhầm:(( em cũng đã thử cách dịch ngược bản build cuối cùng mà cũng không được luôn. Kết là phải code lại chỗ đó, hơi mất time xíu nhưng mà coi như bài học😄
@Duyyy Kinh nghiệm của mình là cứ code chỗ nào ổn ổn rồi thì cứ commit lại cho chắc cú. Lúc nào feature xong xuôi hết cần tạo Pull Request thì có thể rebase lại thành 1 commit cho đẹp cũng được.