Các phương pháp hay nhất cho Git trong nhóm - Cách sử dụng Git Flow đúng cách

Nội dung bài viết

Video học lập trình mỗi ngày

Là một lập trình viên mới tham gia vào một công ty mới, thì việc code không bàn tới, nhưng cách làm việc nhóm trên git cũng là một điều quan trọng không hề kém. Nếu như bạn không hiểu câu chuyện về sử dụng Git Flow trong một Team thì có lẽ bạn sẽ lên đường sớm. Nhưng không sao, bài viết này sẽ giúp bạn đạt được điều đó. Nếu chỉ đọc không hiểu, thì bạn có thể xem video, điều đó sẽ giúp bạn tốt hơn.

Git Flow trong team

Cũng giống như khi bạn viết code, thì đặt tính logic lên hàng đầu, thì việc quản lý code cũng cần một quy trình và đặc điểm kỹ thuật rõ ràng không kém. Và Vincent Driessen đã đề xuất Mô hình phân nhánh Git thành công để giải quyết vấn đề này và đã 10 năm tất cả mọi người cũng đồng ý.

Dưới đây là sơ đồ luồng của Git Flow.

Nếu bạn không thể hiểu bức tranh trên? Không quan trọng, đó không phải lỗi của bạn. Mà do lỗi của tôi không hướng dẫn trước khi bạn vào công ty.

Branch thường được sử dụng trong Git Flow

  • Branch main

Tức là nhánh main mà chúng ta thường sử dụng, nhánh này là dành cho production, được hợp nhất từ các nhánh khác, nên nhớ không nên sửa đổi trực tiếp trong nhánh này.

  • Branch develop

Nhánh này là nhánh phát triển chính của team trong công ty và chứa tất cả code sẽ được phát hành cho phiên bản tiếp theo. Nên nhớ nhánh này hợp nhất với các nhanh khác ở dạng phát triển thêm tính năng feature.

  • Branch feature

Nhánh này chủ yếu được sử dụng để phát triển một chức năng mới. Sau khi quá trình phát triển hoàn tất, chúng tôi hợp nhất trở lại nhánh develop và tham gia các tính năng tiếp theo

  • Branch release

Khi bạn cần phát hành bản phát hành mới, chúng tôi tạo một nhánh bản release dựa trên nhánh develop. Sau khi branch release hoàn tất, chúng ta sẽ merge nó và thành các nhánh maindevelop.

  • Branch hotfix

Khi chúng tôi tìm thấy một lỗi mới trong dự án của chúng, nghĩa là trong môi trường production thì chúng ta cần tạo một nhánh hotfix. Sau khi hotfix hoàn tất, chúng tôi hợp nhất trở lại các nhánh MasterDevelop, vì vậy những thay đổi trong Hotfix sẽ vào bản phát hành tiếp theo.

Cách triển khai git follow

Nếu bạn vẫn chưa hiểu, thì bạn nên xem video hướng dẫn sử dụng Git Flow. Nếu bạn tự tin có thể đọc được code thì đây là của bạn.

a. Tạo nhánh develop

➜ git-follow-action git:(main) git branch develop
➜ git-follow-action git:(main) git push -u origin develop

b. Bắt đầu phát triển feature

➜ git-follow-action git:(main) git checkout -b feature/1-feature-01 develop

# add code    
git status
git add some-file
git commit

c. Hoàn thành feature

➜ git-follow-action git:(main) git pull origin develop
➜ git-follow-action git:(main) git checkout develop
➜ git-follow-action git:(main) git merge --no-ff feature/1-feature-01
➜ git-follow-action git:(main) git push origin develop
//xóa local
➜ git-follow-action git:(main) git branch -d feature/1-feature-01

# xóa remote
➜ git-follow-action git:(main) git push origin --delete feature/1-feature-01

d. Bắt đầu phát hành bản release

➜ git-follow-action git:(main) git checkout -b release-0.1.0 develop

e. Hoàn thành bản release

➜ git-follow-action git:(main) git checkout main
➜ git-follow-action git:(main) git merge --no-ff release-0.1.0
➜ git-follow-action git:(main) git push

➜ git-follow-action git:(main) git checkout develop
➜ git-follow-action git:(main) git merge --no-ff release-0.1.0
➜ git-follow-action git:(main) git push

# xóa local
➜ git-follow-action git:(main) git branch -d release-0.1.0

# xóa remote 
➜ git-follow-action git:(main) git push origin --delete release-0.1.0   

# add tag
➜ git-follow-action git:(main) git tag -a v0.1.0 master
➜ git-follow-action git:(main) git push --tags

f. Nếu có lỗi thì tạo nhánh hotfix

➜ git-follow-action git:(main) git checkout -b hotfix-0.1.1 main

g. Hoàn thành hotfix

➜ git-follow-action git:(main) git checkout main
➜ git-follow-action git:(main) git merge --no-ff hotfix-0.1.1
➜ git-follow-action git:(main) git push


➜ git-follow-action git:(main) git checkout develop
➜ git-follow-action git:(main) git merge --no-ff hotfix-0.1.1
➜ git-follow-action git:(main) git push

➜ git-follow-action git:(main) git branch -d hotfix-0.1.1

➜ git-follow-action git:(main) git tag -a v0.1.1 master
➜ git-follow-action git:(main) git push --tags

Kết luận

Xong, không có gì để kết luận, mọi việc còn lại là của bạn. Bật mí 90% các công ty đều quản lý và tổ chức code như vậy. Nên đi đâu cũng tự tin nên thành thục các sử dụng git workflow. Chào thân ái và quyết thắng.

Có thể bạn đã bị missing