Chúng tôi có một vài mô-đun nơi chúng tôi đã thực hiện điều này và về cơ bản chúng tôi đã làm là:
- Thiết lập repo Git cho mô-đun.
- Triển khai mô-đun này vào cơ sở mã của trang sản xuất và cam kết mọi thứ bao gồm:
- liên kết mềm được tạo bởi modman
- thư mục .modman chứa kho mô-đun nhân bản
- Sử dụng modman để "triển khai" nó vào các phiên bản khác và / hoặc môi trường dev để phát triển và thử nghiệm.
Làm theo cách này giúp bạn có được sự linh hoạt cần thiết cho việc phát triển mô-đun, phiên bản mã trên trang web đơn và nếu bạn thay đổi mô-đun trong cơ sở mã cơ sở một trang, bạn có thể đưa những thứ đó trở lại kho lưu trữ mô-đun kể từ đó repo là có trong thư mục .modman.
CẬP NHẬT:
Khi ban đầu tôi viết bài này, tôi đã không tính đến câu trả lời của mình rằng Git không cho phép các mô-đun (phụ) được cam kết với một kho lưu trữ, trong trường hợp đó là "cam kết mọi thứ" cần một số chi tiết!
Ngẫu nhiên, điều này là do tôi đã thực hiện việc này thường xuyên hơn bằng cách sử dụng modman để triển khai các mô-đun trong Git repos thành một cơ sở mã sản xuất được lưu trữ bởi SVN và Subversion không ngăn cản việc đưa toàn bộ cây Git vào VCS.
Vậy là đi đây
Nếu bạn đang sử dụng SVN để lưu mã của trang sản xuất, bạn sẽ không gặp vấn đề gì vì Subversion (thực tế) không có khái niệm về các mô-đun phụ. Nó không phiền đâu.
Nếu bạn đang sử dụng Git cho mã của trang sản xuất, bạn sẽ phải sử dụng các mô-đun phụ để "cam kết mọi thứ" với kho lưu trữ mã của trang. Sau khi sử dụng modman để sao chép một cái gì đó như thế này:
modman clone ssh://git@bitbucket.org/<user>/<repo>.git
Bạn cũng sẽ muốn thêm nó dưới dạng một mô-đun phụ như vậy:
git submodule add ssh://git@bitbucket.org/<user>/<repo>.git .modman/<repo>
Một khi bạn đã làm điều này, bạn sẽ có thể thêm thư mục .modman và tệp .gitmodules vào chỉ mục và cam kết nó.
Sau khi nhân bản kho lưu trữ đang sử dụng các mô-đun này được cài đặt qua modman, chỉ cần khởi động lại các mô đun con và cập nhật:
git submodule init
git submodule update
PS Bây giờ tôi sử dụng Git toàn thời gian cho tất cả các dự án mới, vì vậy hy vọng việc giám sát này sẽ không xảy ra lần nữa. Xin lỗi các bạn. ;)