Một trong những điều tôi thích về cách thiết lập Subversion là tôi có thể có một kho lưu trữ chính duy nhất với nhiều dự án. Khi tôi muốn làm việc trong một dự án, tôi có thể kiểm tra dự án đó. Như thế này
\main
\ProductA
\ProductB
\Shared
sau đó
svn checkout http://.../main/ProductA
Là một người dùng mới sử dụng git, tôi muốn khám phá một chút thực tiễn tốt nhất trong lĩnh vực này trước khi cam kết với một quy trình làm việc cụ thể. Từ những gì tôi đã đọc cho đến nay, git lưu trữ mọi thứ trong một thư mục .git duy nhất ở gốc của cây dự án. Vì vậy, tôi có thể làm một trong hai điều.
- Thiết lập một dự án riêng cho từng Sản phẩm.
- Thiết lập một dự án lớn và lưu trữ các sản phẩm trong các thư mục con.
Có sự phụ thuộc giữa các sản phẩm, vì vậy một dự án lớn duy nhất có vẻ thích hợp. Chúng tôi sẽ sử dụng một máy chủ nơi tất cả các nhà phát triển có thể chia sẻ mã của họ. Tôi đã có phần này hoạt động trên SSH & HTTP và phần đó tôi yêu thích. Tuy nhiên, các kho lưu trữ trong SVN đã có dung lượng nhiều GB nên việc kéo toàn bộ kho lưu trữ trên mỗi máy có vẻ là một ý tưởng tồi - đặc biệt vì chúng tôi bị tính phí băng thông mạng quá mức.
Tôi tưởng tượng rằng các kho dự án hạt nhân Linux đều lớn như nhau nên phải có cách xử lý phù hợp với Git nhưng tôi vẫn chưa tìm ra.
Có bất kỳ hướng dẫn hoặc phương pháp tốt nhất nào để làm việc với các kho lưu trữ đa dự án rất lớn không?