Câu trả lời cho câu hỏi phụ thuộc vào việc:
Bạn muốn xóa cam kết VÀ CHỈ đầu tiên trên một nhánh (trong khi để các nhánh khác như cũ), hoặc liệu
Bạn muốn xóa cam kết đầu tiên trên một số chi nhánh, trong khi 'rời khỏi vị trí' các cam kết tiếp theo (và các chi nhánh khác).
Thứ hai trong số này là tương đối đơn giản. Về cơ bản, bạn phải truy cập vào root - hầu hết các câu trả lời ở đây là về các cách để làm điều này.
Để thực hiện lần thứ hai (loại bỏ cam kết đầu tiên và duy nhất khỏi một nhánh trong khi để các nhánh khác một mình) thì khó hơn. Hoặc, ít nhất, đặc biệt khó hơn nếu bạn muốn nó xảy ra và để thay đổi được phản ánh lại trong GitHub hoặc Bitbucket. Có (theo như tôi có thể nói) không có cách nào trong Git để đẩy hoặc buộc đẩy một nhánh không có cam kết. Và cũng có (một lần nữa, theo như tôi có thể thấy) không có cách nào để tạo ra một nhánh mới, trống rỗng, không có cam kết nào trong GitHub hoặc Bitbucket. Vì vậy, về cơ bản bạn phải tạo một kho lưu trữ mới để tạo một nhánh hoàn toàn trống, sau đó thêm lại các nhánh mà bạn muốn (bao gồm các cam kết mà bạn muốn) - theo câu trả lời của @ user1338062.
Vì vậy, tôi hy vọng câu trả lời này làm rõ những gì có thể không rõ ràng - rằng có hai cách tiếp cận khác nhau cần được thực hiện, cho hai kịch bản khác nhau (ít nhiều hợp lý), đó là cả hai điều bạn có thể muốn làm, theo thứ tự để hoàn toàn làm chủ những gì OP yêu cầu.