Agent sửa nhanh và sai cũng nhanh. Hãy cho mỗi việc một nhánh, commit nhỏ như điểm lưu, và biết cách quay lại.
Chết một lần là mất cả giờ chơi.
Chết thì chỉ mất vài phút. Dám thử hơn.
Một lần lưu có tên và ghi chú. Ai cũng quay lại được chỗ đó.
Đường chơi riêng tách khỏi bản chính, để thử mà không làm hỏng bản chính.
Danh sách chính xác dòng nào thêm, dòng nào xóa so với lần lưu trước.
Tạo điểm lưu mới làm ngược lại điểm lưu cũ. Lịch sử vẫn còn nguyên.
Cuốn sổ ghi chỗ con trỏ HEAD từng đứng. Dùng để tìm điểm lưu tưởng đã mất.
Một bàn làm việc thứ hai của cùng một kho, đang đứng ở nhánh khác.
M là tệp bị sửa. Dòng - bị xóa, dòng + là mới.
Đọc diff chính là bước mở bằng chứng ra. Đoạn code rút gọn để vừa khung.
Minh họa: 20 phút là giả định của tôi, không phải số đo.
Không lưu lần nào: mất tối đa 180 phút.
Lưu mỗi 20 phút: 9 điểm lưu, mất tối đa 20 phút, giữ lại 160.
| Hoàn cảnh | Lệnh | Rủi ro |
|---|---|---|
| Chưa commit, agent sửa sai | git restore | Mất thật |
| Commit đã có mà sai | git revert | An toàn |
| Đang làm dở, cần tay trống | git stash | An toàn |
| Lỡ tay reset --hard | git reflog | Cứu commit, không cứu phần chưa commit |
Tệp về bản đã commit. Phần bị hủy không có dòng nào trong reflog, và stash trống.
Muốn giữ thì stash hoặc commit trước.
Commit hỏng vẫn nằm trong lịch sử. Một commit mới đảo lại nó.
Không viết lại lịch sử, nên an toàn với nhánh dùng chung.
Điểm lưu 5aee66b vẫn ở đó. Đặt lại về nó, mọi thứ trở lại.
Theo tài liệu Git, mục reflog giữ 90 ngày, hoặc 30 ngày nếu không còn nằm trên nhánh. Chỉ có trên máy bạn.
Như hai quầy trong một bếp: cùng kho, không đụng tay nhau.
Mặc định Git không cho hai nơi cùng một nhánh. Claude Code có sẵn claude --worktree.
Mỗi việc một nhánh, commit nhỏ, đọc diff trước khi nhận, và nhớ bốn đường lui: restore, revert, reflog, worktree.