So sánh với tiêu chuẩn đẩy/kéo, lợi thế của việc sử dụng lệnh rebase trong Mercurial là gì?Lợi thế của lệnh rebase trong Mercurial là gì?
Trả lời
This post có một lời giải thích tốt đẹp:
Câu trả lời nằm trong rebasing. Rebasing là một kỹ thuật được phổ biến bởi git, nơi bạn viết lại các bản vá chưa được đẩy để chúng áp dụng đối với mẹo từ xa hiện tại, thay vì chống lại phần đầu của kho lưu trữ mà bạn đã xảy ra lần kéo cuối cùng. Lợi ích là lịch sử hợp nhất của bạn hiển thị các kết hợp hữu ích — hợp nhất giữa các nhánh chính - thay vì chỉ đơn giản là mọi hợp nhất bạn đã thực hiện với kho lưu trữ ngược dòng.
Kéo thông thường, hợp nhất, đẩy chuỗi sẽ tạo một số cam kết không hữu ích về lịch sử kho lưu trữ của bạn. Rebasing giúp loại bỏ chúng.
Nếu bạn thực hiện một chuỗi kéo-hợp nhất-đẩy và nhận được "hợp nhất" sai bạn luôn có thể "backout" các cam kết hợp nhất ". Vì vậy, bạn có một cách dễ dàng để "hoàn tác một cú đẩy". Tôi không biết nếu có một cách tương đương dễ dàng khi sử dụng rebase.
Lệnh rebase sẽ bỏ qua thao tác hợp nhất, do đó không cần phải thoát ra khỏi một hợp nhất xấu. – Vincent
Tôi không hiểu bình luận của bạn .. Điểm của tôi là, bằng cách sử dụng hợp nhất, thật dễ dàng để "backout" một cú đẩy xấu. Làm thế nào để bạn làm điều đó với rebase? – Guy
Khi sử dụng lệnh rebase, không có hoạt động hợp nhất. Vì vậy, nó không thể có một "hợp nhất xấu". Nếu bạn đẩy mạnh sau khi rebase và nó không tốt, bạn luôn có thể quay trở lại. – Vincent
- 1. Kinh nghiệm của bạn sử dụng lệnh "hg rebase" mới là gì?
- 2. lợi thế của việc sử dụng giao diện là gì
- 3. lợi thế của chức năng tĩnh là gì?
- 4. Lợi thế của UnityContainer.Resolve qua Activator.CreateInstance là gì?
- 5. Lợi thế của apklib từ bình là gì?
- 6. Tương đương với Mercurial của "git pull --rebase"
- 7. Lợi thế của việc có phần .bss là gì?
- 8. lợi thế của việc xác định khóa ngoài là gì
- 9. Lợi thế của việc giải mã trên bcrypt là gì?
- 10. Mercurial: Cách khôi phục sau khi rebase
- 11. Lợi ích của Scala là gì?
- 12. Lợi ích của JCA là gì?
- 13. Lợi ích của letrec là gì?
- 14. Lợi ích/lợi thế của việc sử dụng Python 3 là gì?
- 15. Một số lợi thế/bất lợi của việc sử dụng SQLDataReader là gì?
- 16. Lợi thế của việc chia nhỏ mã thành nhiều hàm nhỏ trong C++ là gì?
- 17. Lợi ích của Tài nguyên Javascript trong Eclipse là gì?
- 18. Lợi ích của \ n và PHP_EOL trong PHP là gì?
- 19. Lợi ích của tập lệnh Powershell đối với Ứng dụng Console là gì?
- 20. Git: 'rebase' không phải là lệnh git. Xem 'git --help'
- 21. Những lợi thế khi sử dụng Qt là gì?
- 22. những lợi thế khi sử dụng scrapyd là gì?
- 23. Lợi thế của việc không bao gồm thẻ đóng `?>` Trong tệp lớp PHP là gì?
- 24. Những lợi thế của việc sử dụng XSL trong Sitecore thay vì C# là gì?
- 25. Vì vậy, những lợi thế chính xác của Fragments trong Android 3.0 là gì?
- 26. Những lợi thế khi đặt Javascript của bạn trong tệp .php là gì?
- 27. Lợi thế của bộ tải trên Asynctask trong Android là gì?
- 28. Lợi ích của Mô-đun Mô-đun Javascript là gì?
- 29. Lợi ích thực tế của ADO.NET Entity Framework là gì?
- 30. Lợi ích của định nghĩa hàm tạo này là gì
Câu trả lời rõ ràng, cảm ơn Vincent. Tuy nhiên, theo quan điểm của tôi, nó khiến tôi nghĩ rằng nếu đó là tất cả với nó, nó có thể không có giá trị rắc rối của việc thêm một tính năng mới và một khái niệm mới cho người dùng suy nghĩ về. –
bạn không phải sử dụng rebasing, bạn luôn có thể chi nhánh và hợp nhất. iirc rebase không được kích hoạt theo mặc định trong mecurial –
@jk Nếu nó không được kích hoạt theo mặc định, nó là một ý tưởng tốt để yêu cầu tất cả các nhà phát triển để kích hoạt nó? Điều gì sẽ xảy ra nếu một số không? – Vincent