2013-02-06 41 views
9

Tôi là một phần của dự án khởi động sẽ có một ứng dụng khách thực thi và một máy chủ có thể thực thi được. Chúng tôi đang sử dụng git để giúp giữ cho nhóm của chúng tôi được cập nhật bằng mã và đây là lần đầu tiên nhiều người trong chúng tôi sử dụng git (Dự án này dành cho một lớp học). Tôi bắt đầu thiết lập kho git cho dự án của mình để sử dụng nhưng tôi không chắc chắn thiết kế nào tốt nhất để có mã máy khách và máy chủ.Thiết lập kho lưu trữ Git cho một dự án có máy chủ và máy khách

Vì vậy, đối với câu hỏi, kho lưu trữ sẽ được thiết lập như thế nào? Sẽ không có nhiều mã chia sẻ giữa hai ngoại trừ mạng. Tuy nhiên, chúng tôi đang xem kết nối mạng giữa hai khía cạnh quan trọng nhất và muốn giữ cả hai cách sử dụng cùng một khái niệm mạng. Tôi đã thực hiện một số nghiên cứu ở trên cùng và tôi thấy các khả năng, hai kho lưu trữ riêng biệt, nơi chúng tôi sẽ phải đảm bảo cả hai mã đều tương thích với nhau hoặc chúng tôi có sử dụng một kho lưu trữ không?

Tôi xin lỗi vì cách tiếp cận khá mới này, tôi đã đọc "Git Pro" nhưng chưa có quá nhiều kinh nghiệm với việc sử dụng git cho dự án làm việc với nhiều người.

Trả lời

5

Nếu khách hàng và máy chủ độc lập hoàn toàn với nhau, họ là ứng cử viên tốt cho việc tham gia vào repo git của riêng họ. Đây là component approach.

Bạn có thể có ba Repos:

  • client
  • máy chủ
  • mạng (module chung)

Các submobules trong Git là gọn gàng để ghi lại các SHA1 chính xác mà bạn đang sử dụng cùng cho hệ thống của bạn.
Vì vậy, bạn có thể định nghĩa 2 cha mẹ repo:

  • ứng dụng client

    • client
    • mạng
  • ứng dụng máy chủ

    • máy chủ
    • mạng

Ý tưởng là để có thể nói nếu khách hàng và máy chủ được sử dụng cùng một hoặc một phiên bản khác nhau của mạng.

Tất cả thiết lập có thể là quá mức cần thiết cho một dự án lớp học, nhưng có thể minh họa sự khác biệt giữa phương pháp tiếp cận hệ thống (mọi thứ trong một repo khổng lồ) và cách tiếp cận thành phần.

Tách biệt trong repo git khác nhau cho phép gắn thẻ và phân nhánh độc lập.

+0

Điều này nghe có vẻ giống như cách tốt nhất để làm điều đó. Tôi đã thử nó ra và đã có một số vấn đề với nó không cập nhật những thay đổi trong submodule mạng trong repos khác nhưng tôi nghĩ rằng tôi có thể tìm ra nó. Cảm ơn. – CodeNeko

0

Bạn nên sử dụng một kho lưu trữ duy nhất, vì nó có thể chứa nhiều dự án/giải pháp/bất kỳ thứ gì khác để xây dựng một tệp thực thi.

Nói chung, tôi sẽ tổ chức theo cách giống như bạn muốn tổ chức tại địa phương. Không có lý do để đi chệch khỏi những gì làm việc cho bạn để thích ứng với git.

Tôi khuyên bạn nên thiết lập kho lưu trữ github mà tất cả các bên có thể truy cập.

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