Quy trình làm việc Git cho nhiều nhóm


12

Chúng tôi sẽ bắt đầu sử dụng Git (chưa sử dụng nó) và tôi muốn xác định quy trình công việc.

Chúng tôi có 4 đội tại 4 địa điểm toàn cầu khác nhau, cùng phát triển cùng một sản phẩm. Mỗi đội sở hữu một phần mã sản phẩm, nhưng đôi khi họ cũng phải thực hiện thay đổi mã do các đội khác sở hữu.

Có một đề xuất cho một quy trình làm việc Git cho môi trường như vậy?

Tôi đã xem bài viết này , nhưng cách tiếp cận ở đây là "chúng tôi tạo ra các nhánh bổ sung ít khi có thể" và tôi tin nhiều hơn vào cách tiếp cận "nhánh cho mỗi câu chuyện của người dùng".

Ngoài ra, bài viết này trình bày một cách tiếp cận tốt đẹp.

Tôi đã nghĩ rằng có một nhánh chính, một nhánh vĩnh viễn cho mỗi nhóm định kỳ hợp nhất thành chủ và một nhánh theo câu chuyện của mỗi người dùng hợp nhất với các nhánh của các đội. Liệu nó có ý nghĩa, hoặc nó sẽ không hoạt động?


2
Chúng tôi sử dụng mô hình phân nhánh này , nhưng tôi nghĩ rằng nếu bạn đọc "nhánh tính năng" là "nhánh câu chuyện", thì nó thực sự phù hợp với bài viết thứ hai của bạn.

2
Tôi chắc chắn 10 người có thể phản hồi lại điều này với 10 phản hồi khác nhau. Đây là những gì làm việc cho tôi: Chúng tôi có một repo chính được lưu trữ trên github biểu thị bản phát hành 'hiện tại'. Các bản phát hành cũ hơn được phân nhánh (mặc dù việc gắn thẻ cũng hoạt động). Các thành viên trong nhóm được khuyến khích tạo chi nhánh cho các nhiệm vụ họ đang làm. Khi hoàn thành, họ thực hiện một yêu cầu kéo để thành thạo (hoặc bất cứ khi nào nó cần hợp nhất) và sau đó người khác xem xét yêu cầu kéo và có thể sửa đổi để hợp nhất nó thành chủ. Họ cũng chịu trách nhiệm dọn sạch chi nhánh một khi nó đã được sáp nhập.

2
Bạn có thể quan tâm đến các mô hình con để tách các cơ sở mã của các đội khác nhau. Sau đó, họ có thể phân tách các cơ sở mã của nhau và gửi các bản vá xung quanh khi chỉnh sửa các phần mã của nhau.
Fred Foo

@larsmans & carbonbasingnerd - Nhận xét của bạn phải là câu trả lời, họ sẽ nhận được phiếu bầu từ tôi. * 8 ')
Đánh dấu gian hàng

Câu trả lời:


8

Hãy xem Mô hình phân nhánh Git thành công , có một chiến lược phân nhánh tốt để phát triển tính năng qua các phiên bản.

Một mô hình phân nhánh git thành công

Bạn có thể triển khai một cái gì đó tương tự với một cấp độ bổ sung cho các nhánh nhóm giữa nhánh 'phát triển' và 'nhánh tính năng'. Có các nhánh nhóm cũng sẽ cho phép hai nhóm cộng tác hiệu quả hơn bằng cách hợp nhất giữa các nhánh nhóm của họ.


0

Tôi muốn nói rằng mỗi nhóm có phiên bản kho lưu trữ riêng, với một kho lưu trữ toàn cầu nơi mọi người cam kết (như trong nhân Linux, nơi kho lưu trữ Linus là kho lưu trữ nhân và trung tâm).

Sau đó, để duy trì mã sản phẩm, bạn có thể sử dụng các mô hình con như @larsmans nói, sau đó mỗi nhóm chỉ có thể làm việc chủ yếu ở phần quan trọng nhất đối với họ và nếu họ cần làm việc với phần khác, họ có thể làm điều đó, nhưng họ sẽ phải nhớ cập nhật mô hình con, và đây là vấn đề nằm ở chỗ (vì rất dễ gặp sự cố khi sử dụng git, rất may là cũng dễ dàng thoát khỏi chúng).

Nhưng vì các nhóm của bạn đã quen với điều này và nhận thức được rằng họ đang thay đổi mã nhóm khác, nên họ sẽ dễ dàng hơn để thực hiện cập nhật mô hình con, trước khi thay đổi mô-đun nước ngoài.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.