Git workflow để quản lý công việc trên nhiều chi nhánh

Chiến lược của tôi khi sử dụng Git làm công cụ tạo phiên bản cho các dự án của tôi

Tôi theo dõi tất cả sự phát triển của mình bằng Git và tôi luôn tuân theo chiến lược này.

Chiến lược được lấy cảm hứng từMô hình phân nhánh Git thành công.

Tôi có 2 chi nhánh cố định: làm chủ và phát triển.

Đó là những quy tắc tôi tuân theo trong thói quen hàng ngày của mình:

Khi tôi xử lý một vấn đề mới hoặc quyết định kết hợp một đối tượng địa lý, có 2 con đường chính:

  • Tính năng này là một tính năng nhanh chóng hoặc các cam kết tiếp theo mà tôi sẽ thực hiện sẽ không phá vỡ mã (hoặc ít nhất là tôi hy vọng như vậy): Tôi có thể cam kết khi phát triển hoặc thực hiện mộtnhánh tính năng nhanh, và sau đó hợp nhất nó để phát triển.

  • Tính năng này sẽ mất nhiều hơn một lần cam kết để hoàn thành, có thể mất vài ngày cam kết trước khi tính năng hoàn tất và nó hoạt động ổn định trở lại:Tôi làm một nhánh tính năng, sau đó hợp nhất để phát triển.


Nếu một cái gì đó trên của chúng tôimáy chủ sản xuất yêu cầu hành động ngay lập tức, giống như một bản sửa lỗi tôi cần được giải quyết càng sớm càng tốt, tôi thực hiệnnhánh hotfix ngắn, sửa lỗi, kiểm tra nhánh cục bộ và trên máy kiểm tra, sau đó hợp nhất nó để làm chủ và phát triển.


Nếu tôi cần mộttính năng nhanh chóng / chỉnh sửađược đẩy lên máy chủ sản xuất, nhánh phát triển có một số mã không ổn định trong đó và tôi muốn tính năng đó / chỉnh sửa càng sớm càng tốt, tôi có thểbỏ qua nhánh phát triển, thực hiện một nhánh tính năng nhanh và hợp nhất nó để vừa làm chủ vừa phát triển, miễn là tính năng / chỉnh sửa nhanh và nhỏ. Nếu nó được chứng minh là một thứ gì đó phức tạp hơn, tốt hơn là bạn nên đợi và ổn định mã trên nhánh phát triển.


Cácnhánh phát triển sẽ luôn ở trạng thái thay đổi, đó là lý do tại sao nó nên được đặt trên một 'Đông cứng'khi chuẩn bị phát hành. Mã được kiểm tra và mọi quy trình làm việc được kiểm tra để xác minh chất lượng mã và nó được chuẩn bị để hợp nhất thành chính.


Mỗi khi phát triển hoặc một nhánh hotfix khác được hợp nhất thành chính,Tôi gắn thẻ nóvới số phiên bản, vì vậy, thật dễ dàng để quay lại trạng thái trước đó nếu có sự cố.


Thêm hướng dẫn git: