Trong quá trình làm việc, các bạn hẳn sẽ gặp những lỗi từ trên trời rơi xuống. Nhất là với những team có số lượng pull request nhiều như team mình mỗi ngày.

Chắc hẳn bạn sẽ gặp trường hợp một feature nào hoặc đơn giản chỉ là một layout css. Hôm trước đang hoạt động bình thường, đến hôm nay thì hoạt động không đúng.

Nếu bạn chắc chắn nó đã từng hoạt động thì chúng ta có cách đơn giản để tìm ra commit làm nó đình công.

Đó là git bisect. Chúng ta cùng lướt qua ví dụ để hiểu rõ thêm về nó.

Giả sử bạn chỉ nhớ nó đã hoạt động 1 tuần trước. Bạn có thể cho git bisect kiểm tra trong khoảng 100 commits gần đây bằng lệnh.

git bisect start HEAD HEAD~100

Bạn sẽ thấy chúng ta cần khoảng 6 steps để hoàn thành lần debug này.

Tiếp theo bạn cần test feature hoặc refresh page để kiểm tra xem layout có hoạt động hay không. Sẽ có 2 trường hợp xảy ra

Nếu lỗi không còn xuất hiện. Gõ lệnh sau để chuyển sang step tiếp theo

git bisect good

Nếu vẫn còn lỗi.

git bisect bad

Bạn chỉ cần lặp lại từng bước tương tự cho đến khi bạn gặp thông báo bad commit

Yup. You found it!

Nếu trường hợp bạn chỉ toàn gặp trường hợp Bad thì sao ? Điều đó có nghĩa là bạn đã chọn mốc không đúng, hãy tăng lên 200 commits ở lệnh start.

Cuối cùng, để thoát khỏi git bisect.

git bisect reset

Chúc bạn may mắn.