2010-05-24 27 views
7

Tôi có một repo riêng trong github đó là mã nguồn hoàn chỉnh cho các cm của tôi. Bây giờ tôi có một vài khách hàng địa phương mà tôi muốn sử dụng cùng một cơ sở mã trên nhưng với các chủ đề khác nhau. Nó là tốt hơn để ngã ba dự án ban đầu ra vào một repo cho mỗi một. Hoặc sử dụng một mô-đun con và tạo một repo mới cho mỗi khách hàng?Git Submodule hoặc ngã ba

Sau mỗi trang web hoàn tất, tôi sẽ tưởng tượng các tệp chủ đề sẽ không thay đổi nhiều nhưng sẽ cần phải kéo các thay đổi từ repo chính khi phát hiện thấy lỗi.

Trả lời

4

Vì có hai tập hợp các tệp liên quan (tệp dựa trên phổ biến và tệp chủ đề), khi đó các mô-đun con là thích hợp.

Mỗi khách hàng sẽ có:

  • một git chính repo dự án
    • một submodule nhân bản cơ sở mã chung
    • một submodule với các tập tin cụ thể cho chủ đề của nó.

Phân nhánh là kỹ thuật nhân bản có thể tách riêng một phiên bản repo khỏi bản sao.
GitHub thực hiện nó với một fork queue để tạo điều kiện thuận lợi cho việc chọn lại một số thay đổi được thực hiện trong repo Git được chia đôi.
Nhưng điều quan trọng ở đây là: nó liên quan đến tất cả kho lưu trữ, không chỉ một phần.
Nếu có nhiều phần tham gia, mô-đun con là câu trả lời đúng.