Chúng tôi là một nhà tư vấn phần mềm với vô số dự án cho các khách hàng khác nhau. Theo truyền thống, chúng tôi sử dụng Subversion, nhưng hiện đang xem xét chuyển sang Git.
Một phần đáng kể các tài liệu chúng tôi sản xuất được chia sẻ với khách hàng của chúng tôi (yêu cầu, thiết kế toàn cầu, thông số kỹ thuật thử nghiệm, v.v.) và chúng tôi sử dụng MS Office để sản xuất chúng. Trong Subversion, chúng tôi có thể sử dụng tính năng "Khóa" của nó để đảm bảo rằng không ai đang chỉnh sửa cùng một tài liệu cùng một lúc. Trong Git, bạn không thể làm điều đó vì bản chất phân tán của nó, git không có khóa.
Khóa thực sự ít hơn một cơ chế giao tiếp, nhưng chúng là một cơ chế rất hiệu quả.
Hiện tại, mã và tài liệu hướng tới khách hàng của chúng tôi thường nằm trong các thư mục con khác nhau của kho lưu trữ svn khác nhau. Khi chuyển sang git, bạn muốn giới thiệu chúng tôi làm gì? Tôi thấy một loạt các tùy chọn:
Chúng tôi di chuyển các kho svn sang git 1 trên 1. Thay vì sử dụng các khóa trên các tệp Office, chúng tôi thực hiện những gì người git đề xuất và bằng cách nào đó cố gắng thay đổi quy trình làm việc của chúng tôi để khắc phục nó. Điều này có thể đang làm việc trong một chi nhánh trên bất kỳ chỉnh sửa tài liệu nào và hợp nhất nó qua đánh giá. Cách tiếp cận này vượt qua ví dụ: các bảng Excel có chứa thông tin quản lý dự án; chúng dễ dàng được chỉnh sửa bởi các thành viên trong nhóm (và chúng tôi khuyến khích việc này được thực hiện), nhưng không phải tuân theo bất kỳ quy trình đánh giá chính thức nào
Chúng tôi sử dụng git cho mã và svn cho tài liệu và quản lý dự án. Điều này có nhược điểm là một số tài liệu thiết kế cụ thể hơn sẽ không "ở gần" mã mà nó quy định, làm tăng cơ hội mọi người quên cập nhật chúng. Ngoài ra, mọi người phải sử dụng và hiểu hai bộ công cụ. Điều đó nói rằng, có lẽ đây là một cơ hội tuyệt vời để chuyển sang các công cụ tài liệu dựa trên văn bản (latex, markdown, HTML, bất cứ điều gì) cho các tài liệu thiết kế không dành cho khách hàng.
Giống như 1, nhưng chúng tôi hack một
git lock
lệnh thực hiện khóa svn cho chúng tôi (chuyển cờ chỉ đọc một cách thích hợp và đồng bộ hóa với máy chủ thông qua một số phương tiện).
Tôi không mua đối số rằng các khóa không hoạt động trong DVCS vì hệ thống thậm chí sẽ hoạt động khi bạn hoàn toàn ngoại tuyến. Khóa Svn cũng có thể được ghi đè; chúng là một cơ chế giao tiếp . Nếu không có một số loại kết nối mạng, bạn sẽ không khiến máy tính của mình giao tiếp nhiều.
Chúng ta không thể là cửa hàng duy nhất rất hài lòng với cách svn lock
phù hợp với quy trình làm việc của mình, phải không?
Bất kỳ ý tưởng hoặc lời khuyên?
Tôi đã tìm thấy /programming/119444/locking-binary-files-USE-git-version-control-system nhưng cuộc thảo luận khá kỹ thuật; Tôi đang tìm cách để giải quyết hoặc tránh vấn đề thực tế của hai thành viên trong nhóm chỉnh sửa cùng một tệp nhị phân.