Tôi đang sử dụng Git Flow với nhiều dự án, mỗi dự án có kho lưu trữ riêng của họ thành công.Bản phát hành có cấu trúc (luồng Git) cho nhiều dự án trong một kho lưu trữ đơn (monorepo)
Tôi đang tìm cách hợp nhất các kho này thành một đơn monorepo. Lý do chính là các dự án phụ thuộc chia sẻ trên nhiều dự án, trong đó, hiện tại có nghĩa là chúng tôi cần thực hiện các bản sửa lỗi trên nhiều kho lưu trữ (xem: thay đổi chéo dự án trong liên kết ở trên).
Facebook và Google dường như sử dụng thành công mô hình này (xem: this fb talk và this google talk).
Làm cách nào để tiếp tục sử dụng thứ gì đó tương tự như Git Flow trong khi sử dụng một kho lưu trữ duy nhất cho nhiều dự án?
Trong khi hữu ích, các cuộc hội thoại tôi đã liên kết không đi vào chi tiết như phân nhánh và gắn thẻ và cách chúng tổ chức các bản phát hành dự án khác nhau từ một thân cây/chủ.
Tôi chưa kết hôn với Git Flow. Tôi đang tìm cách cấu trúc các bản phát hành trong một monorepo.
Nghiêm túc, đừng. Chỉ cần sử dụng mô-đun con nếu bạn cần phải buộc các phiên bản cụ thể. – o11c
Tôi thành thật sẽ không sử dụng một monorepo nếu bạn đang làm việc với Git. Lý do Google và Facebook sử dụng nó là sự kết hợp của "nó luôn luôn được thực hiện theo cách đó" (Google), "chúng tôi có rất nhiều người dùng Perforce" (Google) và "dễ dàng hơn để di chuyển repo SVN của chúng tôi" (Facebook) . Tất nhiên, trong thời trang Google/Facebook điển hình, họ đưa ra các cuộc nói chuyện dài về lợi ích được cho là để biện minh cho quyết định của họ. Nhưng thành thật mà nói, monorepos không phù hợp với mô hình Git và các công cụ được thiết kế để làm việc với Git. – mipadi
Các bản phát hành của bạn có được đồng bộ hóa trên tất cả các dự án không? Có nghĩa là có cùng số phiên bản và được phát hành cùng nhau? Nếu không thì tôi tưởng tượng số lượng nhánh có thể mất kiểm soát. –