Git: vũ khí cuối cùng để sửa chữa: reflog
Git
56
White

Le Lam viết ngày 31/07/2015

Git reflog có thể nhiều bạn đã biết rồi, mình viết lại ở đây để memo cho bản thân.

Lỡ tay reset --hard

Git reflog gần như là vũ khí cuối cùng để cứu cánh cho những cơn lầm lỗi :D Đơn giản là sau khi lỡ tay reset --hard

$ git reset --hard HEAD~

lúc này phương pháp giải quyết là

$ git reflog

bcb5518 HEAD@{0}: reset: moving to HEAD~
788674f HEAD@{1}: commit: test
...

Ở đây 788674f là commit đã bị lỡ làm mất, bằng hành động reset --hard HEAD~bcb5518. Vì vậy bây giờ mình sẽ khôi phục lại nguyên trạng của 788674f.

$ git reset --hard 788674f
HEAD is now at 788674f test

Bạn thấy đấy, git reflog như là "máy thời gian" vậy. Chúng ta có thể xem lại lịch sử của bất cứ hành động nào và nhảy về vị trí đó bằng commit hash.

Lỡ tay branch -D

Một trường hợp gần giống là khi lỡ tay xóa branch và muốn quay lại

$ git br -D develop
Deleted branch develop (was 788674f).

Vấn đề sẽ được giải quyết tương tự bằng "máy thời gian".

$ git reflog

9b48127 HEAD@{0}: checkout: moving from develop to master
788674f HEAD@{1}: reset: moving to 788674f

Trạng thái muốn quay lại là 788674f, vì thế

$ git branch develop 788674f
$ git checkout develop

Và chúng ta sẽ quay lại branch vừa bị xóa lúc nãy.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Le Lam

3 bài viết.
8 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
50 8
Khi mới học Git mình hay mắc khá nhiều lỗi, và thời gian đi tìm hiểu khắc phục những lỗi tạo ra nhiều khi quá cả thời gian quay lại commit trước và...
Le Lam viết hơn 3 năm trước
50 8
White
15 2
Tôi lỡ push một vài commit xấu và tôi muốn xóa đi mà không ai biết :v Giả sử bạn đã "lỡ" push 1 vài commit không hay lên master $ git log oneline...
Le Lam viết 3 năm trước
15 2
Bài viết liên quan
White
2 0
Hôm nay group review một cái tài liệu về version control với mấy đồng nghiệp, một người bạn bảo: Cái đó có gì đâu mà ông viết có vẻ khó khăn vậy,...
Long Nguyễn Xuân viết 29 ngày trước
2 0
White
11 0
Làm việc với git submodule (Ảnh) Đôi lúc ta cần phải sử dụng các repo khác như là một module của dự án hiện tại, nhưng ta lại muốn quản lý nó riê...
Tân Nguyễn viết 3 tháng trước
11 0
White
51 8
Tôi xin tổng hợp các cách dùng git stash tôi hay sử dụng Lưu lại thay đổi Git stash được sử dụng khi muốn lưu lại các thay đổi chưa commit, thườ...
BB viết hơn 3 năm trước
51 8
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
3 bài viết.
8 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!