Lauviah0622 / junior_frontend_program

1 stars 0 forks source link

Git workflows #26

Open Lauviah0622 opened 4 years ago

Lauviah0622 commented 4 years ago

5 Git workflows you can use to deliver better code and improve your development process

https://zepel.io/blog/5-git-workflows-to-improve-development/

自己看起來比較一步一步講 github work flow 的原理,而要參照哪一種基本上就是看自己的專案大小。

Basic Git Workflow

err,完全沒有 branch,沒啥好說的

Git Feature Branch Workflow

新增不同的功能

但如果是有需要發布的狀況,要怎麼區分開發的進度 以及 發布版?

因為這個 workflow 中只有 master 一個主 branch ,所以就有了下面這版

Git Feature Workflow with Develop Branch

master 當作 production 的 branch 跟上一個 workflow 不同的是把 develop 分開,就可以在 develop 裡面做測試。真的在 develop 裡面處理完之後再和並進 master,

所以 Develop 裡面的功能會有很多測試的功能, master 裡面才是最穩固的。

這樣的 workflow 就要比較完整的工程師團隊了。 可能 junior 處理功能,OK就 merge 進 develop,而 senior 就負責審進 master

Gitflow Workflow

和上一個 差了 hotfix 還有 release

  1. hotfix 版本的 bugfix 的概念,如果說突然發現你現行的版本上面有小 bug,就從 master 裡面分出 branch 去修復 bug,在 merge 回去 master 還有 develop(修好了當然要 merge 回去)

  2. release 在一個版本預計要做的功能全部做好的時候,會從 Develop 選預計的功能分出去一個 release(有點小版本更新的概念)。那分出去要幹嘛呢?你要加上一些 document ,或者是修理在 release % 之前看到的一些小 bug 等等的一些內容,所以基本上在這個版本上的 Commit 不會有和新功能有關的 code,或只說在這上面開發功能,只會可能做一些微調。

當然弄完之後也要併回去 develop 還有 master。merge 進去 master 的就可以發布出去了 YA

這個架構是 Vincent Driessen 這位大佬提出的,不過因為自己建這樣的 branch,很~麻~凡~阿。所以可以直接用現成的東西幫你弄好: mac:brew install git-flow 我不太熟 windows:下載 git 好了 git init 好了之後直接 git flow init

5. Git Fork Workflow

這個主要是給使用開源的 dependency 用的

image