Tôi đã thực hiện một loạt các cam kết sau một cam kết tốt trên nhánh chính, điều mà tôi phải làm ở một nhánh khác. Tôi có thể di chuyển các cam kết đó, bắt đầu bằng một cam kết cụ thể, đến một chi nhánh khác, và giữ cam kết tốt như cam kết cuối cùng về chủ?Git: di chuyển các cam kết từ chủ này đến chi nhánh khác
Trả lời
chắc:
$ git branch new-branch-name # Create a new branch from the current commit
$ git reset --hard <last good commit on master> # Reset master to the good commit
Điều đó thật dễ dàng. Cảm ơn! –
Vì vậy, nếu tôi muốn loại bỏ hai lần commit cuối cùng từ master đến branch khác. Tôi kiểm tra cam kết cuối cùng của chủ, làm cho một chi nhánh từ đó và sau đó thiết lập lại chủ HEAD ~ 2? Điều này cũng sẽ không xóa các cam kết khỏi chi nhánh? Điều này có nghĩa rằng các cam kết không bị xóa chỉ là con trỏ của chủ bây giờ chỉ hai cam kết trước đó? Đó là thiết lập lại chỉ di chuyển con trỏ chi nhánh một số cam kết trước đó? – croraf
@croraf: Chi nhánh sẽ vẫn trỏ đến hai lần commit trước đó trên master. – mipadi
Vâng, bạn có thể, và đó sẽ là 2 hoạt động riêng biệt:
Sao chép các cam kết từ một chi nhánh đến chi nhánh bạn muốn họ được:
git cherry-pick <hash_of_commit> --onto <target_branch>
Sau đó, sửa chi nhánh chính hoàn nguyên về cam kết tốt:
git checkout master
git reset --hard <hash_of_good_commit>
- 1. Di chuyển các cam kết từ một chi nhánh này sang một chi nhánh khác
- 2. Từ chủ, cam kết đến một chi nhánh khác
- 3. git - di chuyển nhánh "thẻ" sang cam kết khác?
- 4. git: di chuyển chi nhánh đầu
- 5. Làm thế nào để di chuyển tất cả các cam kết từ một chi nhánh khác?
- 6. TFS đặt giá trị di chuyển từ một chi nhánh này sang một chi nhánh khác
- 7. Git: Cách di chuyển thay đổi kể từ lần commit cuối cùng đến chi nhánh mới
- 8. Git: Làm thế nào để rebase và squash cam kết từ chi nhánh đến master?
- 9. git: làm thế nào để di chuyển một số cam kết với chi nhánh mới
- 10. Git: di chuyển cam kết "lên trên"
- 11. cách di chuyển các thay đổi đã cam kết nhưng chưa được hủy bỏ sang chi nhánh khác?
- 12. git: Cam kết công việc hiện tại chưa được cam kết trong nhánh hiện tại đến chi nhánh mới
- 13. Cam kết thay đổi cho nhiều chi nhánh trong Git
- 14. Git: Cách di chuyển qua lại giữa các cam kết
- 15. Git cam kết submodule chung (chi nhánh chính)
- 16. Thay đổi di chuyển bằng Mercurial đến chi nhánh mới
- 17. git tạo ra cam kết từ sự khác biệt giữa hai chi nhánh
- 18. git dàn dựng và cam kết giữa nhiều chi nhánh
- 19. Cách di chuyển git commit từ master đến một nhánh khác hiện có
- 20. Số cam kết trên chi nhánh trong git
- 21. git-svn cố gắng cam kết sai chi nhánh
- 22. Git - di chuyển nhánh tới master
- 23. Làm thế nào để đẩy từ chi nhánh này sang chi nhánh khác và thanh toán?
- 24. Git: duy trì nhiều chi nhánh chủ đề trên cơ sở thường xuyên di chuyển
- 25. Git: Kéo từ chi nhánh khác
- 26. Chuyển các thay đổi từ chi nhánh này sang chi nhánh khác mà không cần hợp nhất
- 27. Hiển thị các chi nhánh không chứa cam kết
- 28. Kéo tất cả các cam kết từ một chi nhánh, đẩy cam kết nào đó sang
- 29. Git: Làm thế nào để danh sách cam kết về chi nhánh này nhưng không phải từ các chi nhánh sáp nhập
- 30. chi nhánh git (không có chi nhánh)
Có thể trùng lặp của [Di chuyển (các) cam kết gần đây nhất đến một nhánh mới với Git] (http://stackoverflow.com/questions/1628563/move-the-most-recent-commits-to-a -new-branch-with-git) –