Mấy hôm nay hí hoáy fix bug cái giao diện web mà lỡ tay `reset` nhầm một phát bay toi sạch cả buổi chiều code, nghĩ lại mà ruột gan cứ lộn cả lên. Lên mạng tìm cách cứu vớt thì thấy tụi Tây đồn thổi cái lệnh `Git reflog` gì đó cứu được bàn thua trông thấy, nhưng ngặt nỗi đọc tài liệu tiếng Anh lú quá chẳng hiểu gì sất. Có bác nào ở đây rành cái này không, giải ngố giúp em phát xem nó hoạt động kiểu gì với. Nghe bảo là Git nó lưu lại hết mọi dấu vết mình từng đi qua, kể cả mấy cái commit bị xóa vĩnh viễn cơ mà thực tế dùng thế nào để bốc lại code cũ? Anh em nào từng cứu dữ liệu bằng cách này rồi thì chỉ cho em xin cái quy trình từng bước với, chứ gõ mò mẫm nữa khéo sập cả project thì ăn cám Tết này.
Cứu nguy code lỗi với Git reflog là gì thế nào.
Thảo luận (10 bình luận chính)
Vụ này đợt trước mình cũng từng lỡ tay `reset --hard` bay sạch đống code thức đêm nên cực kỳ thấu cái cảm giác ruột gan lộn lên. Bình tĩnh nhé, chủ thớt không phải khóc thét nữa đâu vì `git reflog` chính là cái phao cứu sinh đích thực trong tình huống này đấy. Bản chất cái lệnh này nó giống như lịch sử truy vết mọi hành động bạn từng làm trên local repo, kể cả mấy cái commit bị bạn xóa oan. Giờ bạn chỉ cần gõ `git reflog` để tìm lại cái mã hash (mã định danh) trước lúc lỡ tay reset, rồi phang ngay lệnh `git reset --hard ` là code lại về nguyên trạng như chưa từng có cuộc chia ly.
Mở ngay terminal lên và gõ ngay lệnh `git reflog` để xem lại toàn bộ lịch sử thao tác gần nhất của Git, kể cả mấy cái commit bị "bay màu" do lỡ tay `git reset`. Sau khi hiện ra danh sách các mốc thời gian kèm mã hash (chuỗi ký tự dài ở cột ), bạn chỉ việc copy cái mã trước lúc gây án rồi gõ `git reset --hard ` là code lại nguyên vẹn về tay như chưa từng có cuộc chia ly. Lần sau rút kinh nghiệm tạo một nhánh (branch) tạm trước khi đụng đến mấy lệnh hủy diệt này nhé.
Gõ ngay lệnh `git reflog` vào terminal để xem lại toàn bộ lịch sử các thao tác gần đây của ông, tìm cái mã commit ngay trước lúc lỡ tay `reset` rồi quăng lệnh `git reset --hard ` vào là lại hồi sinh sạch sẽ đống code vừa bay. Làm ăn kinh doanh hay code tay chân gì cũng vậy, chỗ này giống như lịch sử giao dịch hay tính năng "undo" thần thánh của dân MMO mình vậy, cứu mạng không biết bao nhiêu lần nên cứ bình tĩnh mà mần nhé chủ thớt.
Gõ ngay lệnh `git reflog` vào terminal để xem lại toàn bộ lịch sử các thao tác gần nhất của Git, sau đó tìm đến mã hash (SHA-1) của cái commit trước lúc lỡ tay `reset` rồi quất câu lệnh `git reset --hard ` là lại hồi sinh nguyên xi đống code buổi chiều ngay. Hiểu đơn giản thì `reflog` giống như cái bộ nhớ "Ctrl + Z" vô hình của Git, nó ghi lại mọi bước đi của mình kể cả lúc bay màu nhánh nên cứ bình tĩnh mà cứu dữ liệu, không phải xoắn.
Vụ này đợt trước mình cũng suýt khóc ròng vì lỡ tay `git reset --hard` bay toi cả ngày cày kéo, may mà có cú cứu cánh `git reflog`. Nói đơn giản thì reflog nó giống như cái "hộp đen" ghi lại mọi vết xe đổ, mọi cú nhảy commit của Git trên máy bạn, kể cả mấy cái bị tưởng xóa vĩnh viễn. Chủ thớt cứ gõ ngay `git reflog` để tìm lại cái mã hash (mấy chữ số lằng nhằng) ngay trước lúc lỡ tay nghịch dại, rồi phang lệnh `git reset --hard [mã_hash_đó]` là code lại hiện về nguyên trạng ngay lập tức nhé.
Chia buồn với chủ thớt, bay toi buổi chiều code đúng là cảm giác muốn đập máy. May là Git nó có tính năng "quay xe" cực khét, cứ mở terminal lên và gõ ngay `git reflog` để xem lại lịch sử mọi thao tác gần nhất của mấy cái commit. Tìm cái mốc thời gian trước lúc lỡ tay `reset` (nó sẽ hiện dạng `HEAD@{x}`), rồi phang lệnh `git reset --hard HEAD@{x}` hoặc tạo branch mới từ mốc đó là code lại hiện về nguyên trạng. Lần sau cẩn thận với mâý lệnh hủy diệt này nhé, nhớ đẩy code lên remote thường xuyên cho lành.
Chia buồn với chủ thớt, pha `git reset` nhầm này kinh điển lắm, ai code web cũng dính ít nhất một lần nhưng yên tâm là chưa mất gì đâu vì Git lưu vết lại hết rồi. Cứ mở terminal lên chạy ngay lệnh `git reflog` để xem lịch sử hoạt động, tìm cái mã hash (chuỗi ký tự dài) ngay trước đoạn lỡ tay `reset` ấy. chỉ cần gõ `git reset --hard ` là code bay về nguyên trạng cả buổi chiều ngay lập tức.
Gõ ngay lệnh `git reflog` rồi tìm đến cái mã hash commit ngay trước lúc lỡ tay `reset` nhầm, sau đó quất luôn lệnh `git reset --hard ` là lại thấy nguyên đống code buổi chiều hiện về ngay lập tức. Cái lệnh này nó như hộp đen lưu lại mọi dấu vết thao tác của Git trên máy bạn, nên dù có lỡ tay xóa hay trôi commit thì cứ bình tĩnh vì code chưa bao giờ mất thật đâu, kinh nghiệm xương máu của mình cứu cái này cả chục lần rồi đấy.
Vụ này đợt trước mình vừa nghịch dại xong, lúc bay sạch code mặt cắt không còn giọt máu y như chủ thớt luôn. Nói đơn giản thì `git reflog` nó giống như cái "văn bản ghi nhớ" mọi hành động của Git, kể cả lúc bạn lỡ tay `reset` hay `checkout` điên cuồng nó vẫn lưu vết hết. Cứ bình tĩnh mở terminal lên gõ `git reflog` là thấy ngay danh sách mấy cái mã hash (mấy dãy số chữ dài ngoằn ngoèo) trước lúc thảm họa xảy ra. Chỉ việc copy cái mã trước lúc gây lỗi rồi quăng vào lệnh `git reset --hard ` là lại thấy cả buổi chiều code về với vòng tay yêu thương ngay nhé.
Chia buồn với chủ thớt, bay toi buổi chiều code đúng là cảm giác muốn trầm cảm thật sự nhưng đừng hoảng, `git reflog` chính là chiếc phao cứu sinh chuẩn bài trong hoàn cảnh này đấy. Bạn chỉ cần mở terminal lên gõ `git reflog` để xem lại lịch sử các thao tác gần nhất, tìm cái mã hash (mấy chữ số lằng nhằng bên trái) ngay trước cái lần lỡ tay `reset` dại dột. Sau đó quất luôn lệnh `git reset --hard [mã-hash-đó]` là toàn bộ code buổi chiều lại hiện nguyên hình ngay lập tức, nhớ tranh thủ `commit` lại liền tay cho chắc cú nhé.
Chứng chỉ tiền gửi (CCTG) Vietcombank thực chất nó giống sổ tiết kiệm truyền ...
Tại chủ đề: Xin tư vấn đầu tư chứng chỉ tiền gửi Vietcombank là gì thế nào.Điểm mấu chốt bạn cần nhớ là hiện tại TP-Link dùng cả app Tether lẫn giao diệ...
Tại chủ đề: Cách đổi mật khẩu wifi tp-link nhanh và chuẩn nhất hiện nay?Cái vụ bình xịt hóa học vừa độc hại vừa chỉ giải quyết được phần ngọn, nhà có...
Tại chủ đề: Chia sẻ kinh nghiệm thực tế cách đuổi kiến gió ra khỏi nhà hiệu quả nhất.Điểm mấu chốt bạn cần nhớ là tuyệt đối không dại dột nâng cấp Python trực tiế...
Tại chủ đề: Lăn tăn gì ở bản lập trình python mới nhất thế nào.Muốn xét học bạ nhanh và chuẩn thì cứ bật ngay file Excel lên, nhập đúng công...
Tại chủ đề: Cách xét điểm học bạ nhanh và chuẩn nhất hiện nay?