Tôi có một số dự án riêng biệt chia sẻ một số mã phổ biến. Thực hành tốt nhất để hoàn thành điều này trong Git, và đặc biệt là SmartGit là gì?Cách chia sẻ mã tốt nhất với SmartGit
Có tất cả mọi thứ trong một kho lưu trữ khổng lồ
Có một kho lưu trữ cho từng dự án, và một kho lưu trữ mã chia sẻ và sử dụng Git Submodules.
Có kho lưu trữ cho từng dự án và một kho lưu trữ cho mã được chia sẻ và sử dụng Git Subtrees. Bất cứ ai có thể cho tôi biết nếu điều này được hỗ trợ bởi SmartGit, và làm thế nào nó có thể đạt được?
Tiềm năng tiềm ẩn với những phương pháp này là gì và thực tiễn tốt nhất với SmartGit là gì?
+1, rất hữu ích. Có bất kỳ bất lợi cho tùy chọn đầu tiên? Bất cứ khi nào tôi phát hành một phiên bản của một trong các dự án của tôi, tôi chỉ đơn giản là chi nhánh toàn bộ kho lưu trữ? – Eric
Việc phân nhánh toàn bộ kho lưu trữ sẽ hoạt động tốt, Git ví dụ: cho phép các tên chi nhánh như 'project1/branch1' (nội bộ:/refs/heads/project1/branch1). – mstrap
Những bất lợi chính với một kho lưu trữ lớn là nó không thể được tách ra sau đó (AFAIK). Khả năng mở rộng về số lượng dự án rất có thể sẽ không có vấn đề gì vì Git cũng hiệu quả đối với các kho lưu trữ lớn. Tuy nhiên, thời gian làm mới của SmartGit sẽ tăng với kích thước cây đang tăng (Cần phải làm mới thường xuyên). Chỉ cần để cung cấp cho bạn một ý tưởng: nếu một kho lưu trữ lớn của bạn sẽ chứa khoảng 10K tệp, bạn không cần phải bận tâm về điều đó. – mstrap