2010-04-06 27 views
5

Tôi có 2 dự án, và thực sự 2 dự án này là khoảng 80% cùng nhau, sự khác biệt chủ yếu chỉ là về ngôn ngữ và mô hình kinh doanh, một là dành cho đối tượng lớn hơn sử dụng ngôn ngữ tiếng Anh và có 9 $/mô hình kinh doanh tháng, người khác đang sử dụng ngôn ngữ địa phương với mô hình kinh doanh freemium.Duy trì dự án với Git

Thỉnh thoảng khi tôi muốn thêm tính năng/chức năng mới, tôi muốn thêm nó vào cả hai dự án, nhưng đôi khi tôi muốn thêm tính năng đặc biệt chỉ dành cho dự án cục bộ.

Câu hỏi của tôi là, làm cách nào để duy trì 2 dự án này với git?

  1. Duy trì 2 kho git cho từng dự án hoặc
  2. Duy trì kho git duy nhất với 2 chủ yếu là chi nhánh hoặc
  3. Bất kỳ đề nghị nào khác?

Trả lời

8

tạo ba dự án git:

  • một dự án "cốt lõi": nó có chứa mã chia sẻ giữa hai dự án khác

  • dự án tiếng Anh của bạn: nó có một môđun con cho lõi cộng với mã cụ thể

  • dự án dịch của bạn: nó cũng có một submodule cho lõi cộng mã cụ thể

cách này bạn có thể thay đổi dự án cốt lõi của bạn, cập nhật các tài liệu tham khảo submodule và bạn muốn được tốt

+0

Mô-đun con là cách để thực hiện việc này. Mọi người cần phải rõ ràng về những gì đang xảy ra, nhưng một khi họ là công việc ít nhất. –

2

Có thể để bạn xử lý điều này thông qua cấu hình và bản địa hóa? Đó là:

  • Một cơ sở mã
  • Hai file nội địa hóa có chứa tiếng Anh và ngôn ngữ địa phương chuỗi
  • Cấu hình cho mỗi phiên bản của trang web xác định mô hình thanh toán/kích hoạt tính năng và thay đổi hành vi phù hợp

Quan điểm cá nhân của tôi là một dự án = một kho lưu trữ. Nếu trang web của bạn rõ ràng là rất khác nhau thì tôi vẫn nghĩ rằng vấn đề của bạn có thể được xử lý tốt hơn bằng cách tái cấu trúc mã chung thành các mô-đun có thể được cấu hình và sửa đổi theo cách được kiểm soát, lành mạnh. Nếu bạn cho phép mỗi dự án có kho lưu trữ git riêng của nó, thì không có công việc khó khăn, chúng có thể dễ dàng phân tách và chứa các khác biệt không thể theo dõi dễ dàng, giới thiệu các lỗi tinh vi hoặc chức năng chưa được kiểm tra.

Các vấn đề liên quan