- vừa được xem lúc

Git Flow: Giải Pháp Tối Ưu Cho Quản Lý Dự Án

0 0 8

Người đăng: Phúc Lâm

Theo Viblo Asia

Commit

Đặt tả Commit là một định dạng chuẩn hóa cho các thông báo commit, giúp tạo ra lịch sử commit rõ ràng, dễ hiểu và tự động hóa các quy trình phát hành.

<type>[optional scope]: <description> [optional body] [optional footer]

type là các loại tùy biến thay đổi trong thực tế như: feat, fix, docs, style, refactor, perf, test, chore

Trong đó:

  • Feat: tạo 1 nhánh feature mới hoàn toàn và code trong nhánh đó.
  • Fix: áp dụng khi bạn thay đổi code trên một đoạn code hay một file code đã tồn tại.
  • Docs: Thay đổi trong file liên quan đến đuôi .md.
  • Style: Thay đổi lại nhưng không ảnh hưởng đến code (vd : formatting ).
  • Refactor: Là những thay đổi cấu trúc lại code và không thay đổi gì trong code hay thêm feature mới.(VD: cấu trúc lại 1 đoạn code có sẳn)
  • Perf: (performance) Thay đổi mã giúp cải thiện hiệu suất. (VD: giảm thời gian query)
  • Test: Thêm các tính năng kiểm thử trong code. (VD: thêm các Testcase liên quan đến hàm)
  • Chore: Là những thay đổi không liên quan đến source code hay test

Ví dụ:

docs: change cmd run code
feat(lang): added vietnamese language
feat: allow provided config object to extend other configs

Lưu Ý

  • Commit bắt buộc được có tiền tố với một loại, bao gồm một danh từ như feat, fix, v.v., theo sau là dấu hai chấm và description.
  • feat được sử dụng khi một commit thêm một tính năng mới vào ứng dụng hoặc thư viện của bạn.
  • Loại fix được sử dụng khi một commit đại diện cho việc sửa lỗi trong ứng dụng của bạn.
  • Scope có thể tùy biến thêm vào sao type tùy theo trường hợp cụ thể. - example : feat(lang)
  • Mô tả bắt buộc phải nằm sau type. Mô tả là một mô tả ngắn gọn về các thay đổi trong mã, ví dụ: fix: array parsing issue when multiple spaces were contained in string.
  • Mục footer có thể được phân biệt sau 1 dấu cách. Example: Fixes #13.
  • Các thay đổi quan trong ảnh hưởng đến code một cách trực tiếp thì cần có BREAKING CHANGE trong phần body. Example :
feat: thêm tính năng đăng nhập bằng email BREAKING CHANGE: trường 'username' đã được thay thế bởi 'email' trong cấu trúc dữ liệu người dùng. 
  • Bắt buộc phải có 1 mô tả ở đằng sau BREAKING CHANGE.
  • Các loại khác ngoài featfix CÓ THỂ được sử dụng trong tin nhắn commit của bạn.

Issue

  • Với Issue khi xảy ra 1 vẫn đề xuất hiện cần giải quyết khi đó leader có thể giao việc cho các thành viên trong nhóm thông qua mục issue trên GitHub
  • Khi leader tạo sẽ Assignees ai là người làm nhiệm vụ đó, có thể thêm Labels vào để có thể hiểu thêm về nhiệm vụ cần làm, có thì thêm Projects vào và một branch cụ thể. Nếu thêm branch vào thì Issue đó sẽ được gắn trực tiếp đế branch đó Đây là ví dụ cụ thể hơn

ví dụ trên mình tự tạo 1 Issue là CRUD Quizz trong dự án của mình và Assignees cho mình và Label là Feature. => Lưu ý khi commit thì mn nên thêm #<số thứ tự issue> thì phần issue sẽ hiểu và tự chuyển commit hay merge qua issue có số thứ tự đó để dễ theo dõi.

Branch

Về việc tạo nhánh và phân quyền để giải quyết một là một điều vô cùng quan trọng trong GitFlow nó sẽ ảnh hưởng đến tốc độ hoàn thành dự án vì được chia cụ thể tránh xảy ra xung đột với nhau.

Main Branches

  1. main (hoặc master)
    • Chứa mã nguồn đã phát hành.
    • Luôn ở trạng thái ổn định.
  2. develop
    • Là nhánh phát triển chính.
    • Chứa mã nguồn kết hợp tất cả các nhánh tính năng và sửa lỗi đã hoàn thiện.

Supporting Branches

  1. Feature Branches

    • Được tạo trực tiếp từ nhánh develop.
    • Được sử dụng để phát triển tính năng mới.
    • Tên nhánh theo định dạng: feature/<tên-tính-năng>.
    • Khi hoàn thành sẽ được hợp nhất vào nhánhnhánhdevelop.
  2. Release Branches

    • Được tạo từ develop khi chuẩn bị phát hành một phiên bản mới.
    • Được sử dụng để hoàn thiện và kiểm tra phiên bản trước khi phát hành.
    • Tên nhánh theo định dạng: release/<số-phát-hành>.
    • Khi hoàn thành, hợp nhất vào cả maindevelop.
  3. Hotfix Branches

    • Được tạo từ main để sửa lỗi khẩn cấp trong phiên bản đã phát hành.
    • Được sử dụng để giải quyết các vấn đề nghiêm trọng mà không cần chờ phát hành tiếp theo.
    • Tên nhánh theo định dạng: hotfix/<số-sửa-lỗi>.
    • Khi hoàn thành, hợp nhất vào cả maindevelop.
  4. Bugfix Branches

    • Được tạo từ develop để sửa lỗi phát sinh trong quá trình phát triển.
    • Được sử dụng để giải quyết các vấn đề trong mã nguồn đang phát triển.
    • Tên nhánh theo định dạng: bugfix/<tên-sửa-lỗi>.
    • Khi hoàn thành, hợp nhất vào develop.

Khi tạo nhánh mới từ nhanh dev thì đặt tên là feature/<tên feature>.
Khi nhánh mới được tạo ra từ nhanh main sẽ có tên là hotfix/<tên nhanh>

Bình luận

Bài viết tương tự

- vừa được xem lúc

Github CLI - Đơn giản hóa cuộc sống cho developer

1. Giới thiệu.

0 0 41

- vừa được xem lúc

Tự build cho mình một hệ thống BADGE MARKDOWN siêu xịn xò - #1

Chào mọi người, lại là mình và cái serie "Something thú vị" của mình đây, serie tổng hợp những kiến thức mình cảm thấy thú vị ở trên google, github, bla bla... Qua đó chia sẻ những project nho nhỏ, thích hợp để mọi người làm cho vui hoặc relax hoặc giải trí. https://github.com/weebNeedWeed/custom-ba

0 0 32

- vừa được xem lúc

Profile README - Portfolio cá nhân nhanh, bổ, rẻ ngay trên Github

. Khi đã chọn nghề IT, dấn thân vào con đường dev khó có ngày yên nghỉ (ngơi), chắc các bạn đã không còn xa lạ với Github, nếu không muốn nói là quá quen (nếu chưa biết Github là cái gì thì bạn cần lăn lộn giang hồ nhiều nữa ). Với một hệ thống siêu khủng, nhiều tính năng siêu tiện ích, một đội ngũ

0 0 87

- vừa được xem lúc

Git objects

. Giới thiệu. Hầu hết các developer đều ít nhiều sử dụng git trong công việc hàng ngày. Khi bắt đầu với git, chúng ta đều được học các câu lệnh quên thuộc như git add ., git commit -m '[Feat] Hello world'.

0 0 32

- vừa được xem lúc

Phân biệt GitHub và GitLab. Nên chọn dịch vụ nào?

Làm thế nào để phân biệt GitHub và GitLab? Ngày nay, quản lý kho là một trong những yếu tố quan trọng của phát triển phần mềm hợp tác. Các tính năng phân phối thành công yêu cầu cần sự kết hợp của các

0 0 46

- vừa được xem lúc

Điểm mặt 10 project đang làm mưa làm gió trên Github trong lĩnh vực phát triển web

Nguồn: https://iainfreestone.hashnode.dev/10-trending-projects-on-github-for-web-developers-12th-march-2021. .

0 0 87