Mặc dù tôi sử dụng và thích DVCS cho các dự án cá nhân của mình và hoàn toàn có thể thấy cách nó giúp việc quản lý đóng góp cho dự án của bạn từ người khác dễ dàng hơn (ví dụ: kịch bản Github điển hình của bạn), có vẻ như một nhóm "truyền thống" có thể có một số vấn đề đối với Cách tiếp cận tập trung được sử dụng bởi các giải pháp như TFS, Perforce, v.v. (Theo "truyền thống", ý tôi là một nhóm các nhà phát triển trong một văn phòng làm việc trong một dự án mà không ai "sở hữu", với khả năng mọi người đều chạm vào cùng một mã.)
Một vài trong số những vấn đề này tôi đã lường trước được, nhưng xin vui lòng đồng ý với những cân nhắc khác.
Trong một hệ thống truyền thống, khi bạn cố kiểm tra thay đổi của mình đối với máy chủ, nếu trước đó người khác đã kiểm tra thay đổi xung đột thì bạn buộc phải hợp nhất trước khi bạn có thể kiểm tra thay đổi của mình. Trong mô hình DVCS, mỗi nhà phát triển sẽ kiểm tra thay đổi cục bộ và tại một số điểm đẩy sang một số repo khác. Repo đó sau đó có một nhánh của tập tin đó mà 2 người đã thay đổi. Có vẻ như bây giờ ai đó phải được giao trách nhiệm xử lý tình huống đó. Một người được chỉ định trong nhóm có thể không có đủ kiến thức về toàn bộ cơ sở mã để có thể xử lý việc hợp nhất tất cả các xung đột. Vì vậy, bây giờ một bước bổ sung đã được thêm vào khi ai đó phải tiếp cận một trong những nhà phát triển đó, bảo anh ta kéo và thực hiện hợp nhất và sau đó đẩy lại (hoặc bạn phải xây dựng cơ sở hạ tầng tự động hóa nhiệm vụ đó).
Hơn nữa, vì DVCS có xu hướng làm cho hoạt động tại địa phương trở nên thuận tiện, nên có thể các nhà phát triển có thể tích lũy một vài thay đổi trong kho lưu trữ cục bộ của họ trước khi đẩy, làm cho các xung đột đó trở nên phổ biến và phức tạp hơn.
Rõ ràng nếu mọi người trong nhóm chỉ làm việc trên các khu vực khác nhau của mã, thì đây không phải là vấn đề. Nhưng tôi tò mò về trường hợp tất cả mọi người đang làm việc trên cùng một mã. Có vẻ như mô hình tập trung buộc các xung đột phải được xử lý nhanh chóng và thường xuyên, giảm thiểu sự cần thiết phải thực hiện các vụ sáp nhập lớn, đau đớn hoặc có bất kỳ ai "cảnh sát" repo chính.
Vì vậy, đối với những người bạn sử dụng DVCS với nhóm của bạn trong văn phòng của bạn, làm thế nào để bạn xử lý các trường hợp như vậy? Bạn có thấy quy trình làm việc hàng ngày (hoặc nhiều khả năng hơn là hàng tuần) bị ảnh hưởng tiêu cực không? Có bất kỳ cân nhắc nào khác mà tôi nên biết trước khi giới thiệu DVCS tại nơi làm việc của tôi không?