Làm việc cùng Git Flow giúp cải thiện teamwork – Code Tốt

Related Articles

Điểm bài viết

[Tổng cộng: 1 Trung bình: 3]

Sau hai bài viết hướng dẫn sử dụng Git phần 1 và phần 2, hẳn bạn đã biết khá nhiều lệnh tương quan dành cho Git. Trong bài viết này, tất cả chúng ta sẽ khám phá về Git Flow – một phương pháp được ý kiến đề nghị để nâng cấp cải tiến quy trình thao tác của Git và có ích cho teamwork .

Git Flow là gì?

Git Flow được Vincent Driessen đưa ra nhằm mục đích cải tổ quy trình thao tác cùng Git. Thực chất, đấy là cách chia nhánh và merge nhánh vào khi triển khai xong một tập hợp tính năng hoặc fix .

Git Flow thao tác dựa trên merge, chứ không phải thao tác cherry-pick thường thấy .

Cách thức thông thường một team hay làm việc:

  • Lead update 1 branch master với các commit mới nhất.
  • Các developer thực hiện checkout master này để làm việc với fix và feature.
  • Lead review và cherry-pick các commit vào branch master để build

Đâu là điểm yếu của cách thao tác này ? Việc Lead gặp trục trặc nhiều với conflict và merge code sẽ liên tục xảy ra, đặc biệt quan trọng là khi triển khai những hotfix với nhiều yếu tố có năng lực ghi đè lẫn nhau .

Git hoàn toàn có thể mang lại sự linh động, nhưng cũng đẩy việc rối rắm trong quản trị lên mức độ cao hơn .

Bài toán Git Flow giải quyết

Git Flow đưa ra những quy ước để tiến hành việc làm. Nó được tổng kết qua quy trình thao tác thực tiễn của nhiều team trên quốc tế lúc bấy giờ và mang lại hiệu quả khả quan đáng kinh ngạc. Mục đích là những nhóm việc làm tiến hành song song nhưng không ảnh hưởng tác động tới nhau. Các môi trường tự nhiên development, staging và production tách biệt giúp quy trình kiểm thử ( QA ), trả lại feedback và giải quyết và xử lý những issue được ngăn nắp và thống nhất hơn nhiều .

Ý tưởng của nó thực ra là duy trì những nhánh branch không đổi, tức không xoá ( có tính cố định và thắt chặt ) trong suốt dòng đời mẫu sản phẩm. Branch master sẽ luôn là branch chính vận dụng cho production, trong khi những branch hotfix, features hay develop cung ứng những bản để Giao hàng QA và hoàn thành xong trước khi được đẩy lên master .

Khác với cách thường thì tạo ra nhiều yếu tố xảy ra ngay trên production, thứ mà tất cả chúng ta hay gọi là “ rút kinh nghiệm tay nghề từ những sai lầm đáng tiếc thực tiễn ”, Git Flow đẩy quy trình QA vào một phần bắt buộc cho cả developer và team QA và nhu yếu sự triển khai xong cao hơn về chất lượng đầu ra .

Git Flow không phải là công cụ mới. Nó thực ra là quy ước của team để thao tác tốt hơn, những bạn nhé !

Cách thức Git Flow trong teamwork:

Lead đẩy lên branch master bắt đầu .

Các developer triển khai :

  • Nếu thực hiện fix một tính năng nào đó, checkout 1 branch tên hotfix/, ví dụ hotfix/popupên>
  • Nếu thực hiện 1 feature mới, checkout branch với tên features/, ví dụ features/headerên>
  • Nếu tiến hành release một tính năng, checkout branch với tên release/, thông thường là mã SHA (dạng v1.1.0), chẳng hạn: release/v1.1.0ên>



Trong quy trình thao tác, Lead sẽ thao tác với những developer :

Giai đoạn 1: Sau khi hoàn thành tính năng và sẵn sàng để QA (thường đã qua 1 round QA của riêng developer đó), developer tạo pull-request để yêu cầu xác nhận. Trong quá trình này, Lead/QA Team sẽ review và cho feedback.

Giai đoạn 2: Developer thực hiện các bản fix nếu có. Quá trình sẽ bắt đầu deploy và test toàn bộ phần công việc trên staging.

Giai đoạn 3: Sau khi hoàn thành test trên staging, sẽ chuyên qua gửi yêu cầu merge-request:

Tài liệu tham khảo

Các bạn thấy Git Flow có khó hiểu không ? Tham khảo thêm những tài liệu để tiến hành Git Flow trong team nhé !

Kết luận

Điểm lợi lớn nhất của Git Flow là giúp việc theo dõi và giải quyết và xử lý những yếu tố phát sinh do một tính năng, một bản fix rất thuận tiện. Quá trình review sẽ thuận tiện và quan sát được những lỗi phát sinh trong quy trình deploy .

Tuy vậy, nếu bạn muốn tăng thời hạn tiến hành production thì sẽ gặp hạn chế đôi chút về mặt thời hạn. Ngoài ra, việc remove những commit không đạt nhu yếu chất lượng cũng khó khăn vất vả hơn ( ta không dùng cherry-pick để làm nữa ) .

Bạn hãy thử vận dụng và san sẻ cho Code Tốt biết những điểm mạnh và yếu của Git Flow nhé .

Ảnh minh hoạ : Credit Github

4

1

nhìn nhận

Đánh giá bài viết

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories