Tôi đang làm việc trên một chi nhánh tính năng.Git: Làm thế nào để đè bẹp các cam kết có hợp nhất-cam kết ở giữa?
- Thực hiện một số cam kết. Cam kết bị đè bẹp.
- Thay đổi được đẩy đối với nhánh từ xa. Có xung đột.
- Các thay đổi được hợp nhất từ các xung đột chính, đã giải quyết trên chi nhánh tính năng. (git fetch origin master> git hợp nhất FETCH_HEAD> giải quyết xung đột theo cách thủ công> git commit> git push)
- Tôi đã thực hiện thêm một cam kết.
Vì vậy, lịch sử cam kết hiện tại trông như thế này. Từ hiện tại để cũ:
- cam kết 3
- cam M yyy (hợp nhất)
- cam 2
Làm thế nào để dẹp trên 3 cam kết vào 1 trước khi tôi sáp nhập chi nhánh tính năng của tôi để bậc thầy?
Nó hoạt động. Nhưng bạn có thể chỉ cho tôi "lý thuyết" tại sao nó hoạt động? – Miral
Tuyệt đối, hãy xem [bài viết này] (https://www.atlassian.com/git/tutorials/merging-vs-rebasing/workflow-walkthrough) và bình luận lại nếu bạn có một số câu hỏi cụ thể. –
Nhìn lại (và chơi với một đồ chơi repo), có vẻ như 'git rebase -i master' cũng nên làm việc tốt, và nó sẽ không bao gồm' master' commit trong 'squash' của bạn. Đó là những gì bạn đã cố gắng trước đây? Chuyện gì vậy? –