2011-04-26 6 views
7

Tôi có tình huống sau đây:cấu trúc kho git với nhiều mô-đun

  1. Có 4-5 module phần mềm khác nhau một phần của một dự án phần mềm lớn.
  2. Tất cả chúng được đặt làm repo git riêng biệt.
  3. Khi tôi cam kết một đối tượng địa lý, thông thường nó kéo dài hơn một mô-đun đơn - do đó, ví dụ: 2 hoặc 3 cam kết cho mỗi mô-đun.

Hãy cho tôi ý tưởng cho nhiều mô-đun trong dự án lớn hơn. Bạn có thích sử dụng git submodules, và nếu có, theo cách nào? Hoặc bạn có sử dụng một thư mục tổng thể cho dự án, ví dụ:

Software_Project
      Module_1
      Module_2
      Module_3
      Module_4

Bất kỳ ý tưởng cho một cấu trúc git repo thích hợp là w elcome.

+0

+1 Một câu hỏi rất độc đáo! – ralphtheninja

+0

* "Khi tôi cam kết một tính năng, thông thường nó kéo dài hơn một mô-đun duy nhất" * - Điều đó nghe có vẻ sai với tôi. Thông thường các mô-đun con có nghĩa là độc lập với kho lưu trữ gốc. – poke

Trả lời

5

Vì bạn đang nói rằng bạn cam kết các tính năng thường trải qua nhiều mô-đun, tôi sẽ đặt mọi thứ trong cùng một kho lưu trữ git, trừ khi nó thực sự là mô-đun trực giao và hoàn toàn độc lập với phần còn lại của dự án. có thể thích hợp. Bạn sẽ được hạnh phúc để có khả năng cam kết các tính năng theo cách git được cho là được sử dụng. Nhiều cam kết trong một số kho git? Không, tôi muốn có mã gần nhau hơn. Vâng, đó là một thương mại như mọi thứ khác.

+0

Tôi nghĩ rằng tôi sẽ di chuyển theo hướng của một thư mục duy nhất với các mô-đun bên trong. Tương tự như cấu trúc của Assembla git repo. Mã phải gần nhau hơn, một cam kết cho mỗi đối tượng địa lý, không thực hiện 4 cam kết cho cùng một tính năng trong các mô-đun khác nhau. –

+0

Đó là cách để đi và nó giúp với sự tự tin và làm cho nó dễ dàng hơn nhiều để hoàn nguyên thay đổi. Hãy tưởng tượng cố gắng để làm điều đó bằng tay trên tất cả các repos. Quay lại thời gian CVS! * rùng mình *: D – ralphtheninja

1

Google đã phát triển tập lệnh cho phát triển Android có tên là Repo (rõ ràng là the website has moved) giúp việc sử dụng git dễ dàng hơn. Mục đích chính của nó là quản lý dễ dàng hơn nhiều kho.

+0

Tôi sẽ kiểm tra nó mặc dù tôi không chắc chắn đây là những gì tôi cần. –

+0

Liên kết bị hỏng! –