7

Tôi vừa di chuyển một repo svn lớn sang git và bắt đầu sử dụng gitflow. Nó hoạt động giống như một sự quyến rũ nhưng bây giờ tôi đang nghĩ về việc chia nhỏ số repo lớn đó thành một số nhỏ hơn.Sử dụng luồng git với git subtree

Hãy supposse cây thư mục repo như sau:

/repo 
    - libs 
    - apps 
    -- app 1 
    -- app 2 

Và chúng tôi muốn chia nó thành ba Repos, một với các cấu trúc cốt lõi (libs và ứng dụng danh bạ) và hai người còn lại với các thư mục ứng dụng .

Nếu tôi sử dụng git subtree để chia nhỏ như vậy, tôi có thể sử dụng luồng git riêng lẻ trong mỗi phần hoặc tôi sẽ phải sử dụng nó trên toàn cầu không?

PS: Đây là câu hỏi đầu tiên của tôi trong stackoverflow, hãy loại :)

Trả lời

5

tôi không sử dụng dòng chảy git, nhưng tôi sẽ tranh luận câu trả lời phụ thuộc vào cách mô-đun bạn đang có. Bạn có thể triển khai cấu trúc cốt lõi mà không triển khai app1 và app2 không? Bạn có thể triển khai app1 và app2 độc lập với nhau không? Nhóm phát triển của bạn có đủ lớn và tinh vi để coi chúng như là quy trình công việc độc lập không?

Nếu câu trả lời cho những câu hỏi này là "có", tôi tranh luận coi chúng là nhiều dự án, mỗi dự án có một luồng duy nhất. Nếu câu trả lời cho bất kỳ câu nào trong số đó là "Không", tuy nhiên, tôi muốn tránh phá vỡ dự án của bạn. Trong thực tế, nếu thay đổi đối với app1 và app2 cũng yêu cầu thay đổi đối với kho lưu trữ cốt lõi phần lớn thời gian, tôi muốn tránh phá vỡ repos của bạn.

Kho lưu trữ lồng nhau, cho dù chúng được thực thi với subtree, submodules hoặc (deity forbid) chỉ .gitignore theo định nghĩa khiến luồng công việc phức tạp hơn. Các lệnh như git bisectgit log trở nên ít hữu ích hơn một chút; lịch sử theo dõi và lỗi trở nên khó hơn một chút. Các nhà phát triển mới phải học thêm một chút nữa để bắt đầu viết mã. Từ kinh nghiệm cá nhân: Tread con đường này một cách cẩn thận. Nếu subos repos của bạn được gắn bó chặt chẽ, bạn sẽ quay lại đây trong một năm bằng văn bản câu trả lời này cho người khác đang tìm cách phá vỡ dự án của họ, giống như một phiên bản rắc rối của Pay It Forward.

+0

Cảm ơn bạn! Điều đó đã giúp rất nhiều! – algm

+0

Một số suy nghĩ khác về phân đoạn bị hỏng và toàn bộ: http://programmers.stackexchange.com/a/161324/57052 – Christopher

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