Hầu hết các hệ thống kiểm soát phiên bản (VCS) được thiết kế cho văn bản. Chúng thường có các tính năng rất mạnh mẽ và thuận tiện để so sánh ( diff
) và hợp nhất mã nguồn, và một số công cụ thậm chí có thể tự động hợp nhất các thay đổi (và thực hiện công việc tốt để đoán cách thay đổi nên được hợp nhất và tại thời điểm nào nhà phát triển nên được mời hợp nhất thủ công).
Thật tuyệt vời khi có sự hỗ trợ tốt hơn cho việc diff
hợp nhất và hợp nhất các tệp nhị phân từ các ứng dụng tương ứng sử dụng các tệp đó. Chẳng hạn, Microsoft Word cho phép so sánh hai tài liệu và trong khi nó không phải là một công cụ hợp nhất thuận tiện, nó vẫn tốt hơn không có gì và giúp tôi tiết kiệm hàng giờ trong nhiều lần. Thật không may, tính năng hợp nhất thường được giám sát trong các sản phẩm phần mềm hoặc khó thực hiện (làm thế nào để bạn hình dung ra diff
một cảnh 3D?)
Khi nói đến các tệp nhị phân, bạn nhận được ít sự trợ giúp từ VCS. Họ không chỉ không thể lưu trữ các thay đổi liên tiếp một cách hiệu quả mà còn không thể giúp bạn hợp nhất các thay đổi.
Hai năm trước, tôi đã hỏi một câu hỏi tương tự liên quan đến việc sử dụng kiểm soát phiên bản trong phần mềm chỉnh sửa video . Tôi tin rằng các câu trả lời cho câu hỏi của tôi cũng được áp dụng một phần ở đây, sự khác biệt duy nhất (nhưng quan trọng) là câu hỏi của tôi liên quan đến các tệp lớn, trong khi trong trường hợp của bạn, các tệp nhị phân có thể tương đối nhỏ.
Cách tiếp cận mà bạn tìm thấy, đó là những người thay phiên nhau làm việc trên cùng một đối tượng, là phương pháp tốt. Nếu bạn không thể hợp nhất, đừng làm việc song song trên cùng một thứ. Nếu bạn làm việc trong cùng một văn phòng, nó có thể dễ dàng thực hiện. Nếu không, hầu hết các hệ thống kiểm soát phiên bản ( bao gồm cả hệ thống bạn sử dụng ; nó cũng được thảo luận ở đây trong bối cảnh BitBucket) hỗ trợ khóa , bao gồm người dùng của một VCS để thông báo, thông qua hệ thống, rằng anh ta đang làm việc trên một tệp đã cho hiện nay; những người dùng khác có thể tải phiên bản mới nhất của tệp, nhưng họ không muốn thay đổi nó.