Cần thêm một chút vào điều này (và @oodEnoughs):
nhưng điều này chỉ nghe có vẻ phiền toái đối với kiểm soát phiên bản phân tán.
Nói một cách rõ ràng là không - những gì một bản dựng "máy chủ" nói với bạn rằng thân cây của bạn sẽ xây dựng và vượt qua các thử nghiệm của nó ít nhiều từ sạch (số lượng cấu hình bạn cần làm trong môi trường của bạn).
Tôi đang dự tính chuyển sang DVCS nhưng thậm chí đã hoàn thành nên bạn sẽ kéo sự tích hợp liên tục của tôi từ bàn tay chết lạnh của tôi.
Lấy một ví dụ đơn giản - bạn đang phát triển tính năng "một" tính năng đang phát triển "b" được phân phối hay không tại một số điểm bạn cần kết hợp tất cả lại với nhau - nếu, khi bạn cam kết, bạn quên thêm một tệp mà ứng dụng sẽ xây dựng trên máy của bạn nhưng nó sẽ không ở đâu khác. Vì vậy, khi bạn đẩy bản dựng lên "thân cây", Tích hợp liên tục sẽ kích hoạt và bản dựng sẽ thất bại và bạn sẽ biết và hy vọng trước khi bất kỳ ai rút mã không hoàn chỉnh của mình, bạn sẽ có thể thực hiện các bước.
Nếu bạn đang làm việc trong một dự án có nhiều nhà phát triển, bạn có thể xác định được các phiên bản phát hành đến từ đâu - thân cây có hiệu lực - điều này đúng bất kể cách điều khiển phiên bản của bạn hoạt động.
Nếu bạn đã thêm một tính năng - đặc biệt là một tính năng mà người khác có sự phụ thuộc - để có thể tự tin rằng khi nó được đẩy đến "sống" thì nó sẽ xây dựng và vượt qua các bài kiểm tra ở đâu đó ngoài môi trường dev của bạn là rất lớn. Hơn thế nữa, tôi triển khai từ các bản dựng từ máy chủ bản dựng của mình - đó là cách người ta chỉ định bản dựng "dứt khoát". Cuối cùng, tôi sẽ có người dùng kích hoạt các bản dựng triển khai. Không có gì tốt khi bạn có thể làm việc quanh nó - bạn không thể nếu bạn cần nó (và tôi đã xáo trộn các hộp tròn trong văn phòng để tìm và cam kết các tệp bị thiếu).
Có phải đó là một chút mạnh mẽ? Không biết - nhưng máy chủ xây dựng của tôi là một trong những thứ mà tôi có không muốn trả lại.