Đối với nhiều người trong chúng ta - đặc biệt là làm việc trên các trò chơi nhỏ hơn - bạn hoàn toàn nên có tài sản trong cùng một kho lưu trữ với nguồn của mình .
Đề xuất rằng các tài sản thuộc về một kho lưu trữ riêng biệt chỉ có ý nghĩa đối với các bộ tài sản rất lớn hoặc cho các bộ tài sản có phần lớn khi có ranh giới dữ liệu / công cụ được xác định rõ ràng. Trừ khi có một lý do kỹ thuật cụ thể cho nó - đó là lời khuyên tồi!
Bạn muốn kiểm soát phiên bản của bạn hoạt động như kiểm soát phiên bản . Bạn muốn có thể tua lại và tua nhanh và phân nhánh và hợp nhất các phiên bản mà vẫn giúp trò chơi của bạn hoạt động. Và mã và tài sản của bạn sẽ phụ thuộc vào nhau.
Ví dụ: Mã của bạn có thể mong đợi có thể đặt tham số trên trình đổ bóng và trình tạo bóng đó có thể phụ thuộc vào kết cấu ở đó. Hoặc có thể định dạng dữ liệu của các cấp của bạn có thể phụ thuộc vào một phiên bản cụ thể của mã trò chơi của bạn.
Nó gần như chắc chắn sẽ nhận được lộn xộn. Và bạn có những điều tốt hơn để làm hơn là cố gắng và giữ cho nó gọn gàng.
Bây giờ, như Mike Wagner đã nhận xét ( về câu trả lời này ) - bạn không muốn hoặc không cần tất cả các phiên bản "đang thực hiện" của tài sản của mình dưới sự kiểm soát phiên bản! Chỉ phiên bản cuối cùng / hoạt động, như được sử dụng bởi mã của bạn, sẽ làm - thường đây là những gì bạn xuất từ công cụ của mình.
(Mặc dù nếu bạn muốn kiểm soát phiên bản các phiên bản đang xử lý của tài sản - điều đó tốt. Và rất phù hợp với một kho lưu trữ riêng. Cá nhân tôi thấy rằng tổ chức thư mục tốt và hệ thống sao lưu phù hợp là đủ.)
Điều đó đang được nói - đôi khi thật tuyệt khi có tùy chọn chỉ dán các tài sản "đang tiến hành" dưới sự kiểm soát phiên bản. Thông thường, điều này liên quan đến việc có một đường dẫn nội dung có thể xử lý bất kỳ bước 'xuất' nào cho bạn - ví dụ: làm phẳng hình ảnh nhiều lớp thành một kết cấu.