Tôi đang gặp khó khăn trong việc nắm bắt cách tôi có thể sử dụng rebase/revert để thực hiện việc này.Xóa tất cả các cam kết trong một chi nhánh sau khi cam kết nhất định
Tôi đang làm việc trên chi nhánh master
và sau một cam kết nhất định phần mềm của tôi ngừng hoạt động. Tôi không muốn mất những thay đổi được thực hiện vào thời điểm đó và tôi đã bị áp lực về thời gian để đạt được mốc quan trọng vì vậy tôi đã quay lại một số cam kết với git checkout
và tạo một chi nhánh mới có tên là working
và bắt đầu đẩy tất cả thay đổi của tôi ở đó. Sau đó tôi nhận ra rằng những thay đổi này (được thực hiện trên chi nhánh master
) là không cần thiết. Bây giờ tôi muốn quay trở lại chi nhánh chính của tôi và xóa tất cả các cam kết sau khi cam kết tôi đã sử dụng để tạo chi nhánh working
của mình và sau đó hợp nhất chi nhánh working
của mình với chi nhánh master
.
Tôi đã tạo một hình ảnh với trình chỉnh sửa ảnh trực tuyến để thử và giải thích những gì tôi đang cố gắng làm. Tôi hy vọng nó giúp:
Tôi muốn giữ lại tất cả mọi thứ sau 5cb967f. thoát khỏi tất cả mọi thứ giữa 5cb967f và a0c1de2 (không bao gồm những)
Các cam kết không cần thiết trên bản gốc đã được xuất bản chưa hoặc chúng chỉ có trong kho lưu trữ riêng của bạn? –
chúng được xuất bản. Tôi không ngại viết lại lịch sử. Cam kết mới nhất trong nhánh 'working' của tôi là những gì tôi cần từ bây giờ. Tôi sẽ không "thanh toán" vào cam kết trước 5cb967f – Xecure
Bạn có phải là người duy nhất làm việc trên điều này hoặc có người khác có khả năng đã kéo các cam kết mà bạn muốn xóa không? – R0MANARMY