- Khi bạn muốn phát triển các tính năng mới hoặc sửa lỗi mà không ảnh hưởng đến branch chính
- Khi bạn muốn xóa toàn bộ lịch sử commit của dự án
- Khi bạn muốn gộp nhiều tệp tin thành một tệp duy nhất
- Khi bạn muốn tăng tốc độ biên dịch mã nguồn