2015-02-23

Git Flow 和 Github Flow 的不同

阿舍雖然有用過 Github 來開發軟體,但是,因為阿舍只負責 review,然後,身邊又有高手 Kevin 先生在,可以隨問隨答,所以,雖然,那時阿舍的專案有導入 Git Flow,不過,阿舍其實沒有花太多時間瞭解,因此,阿舍就一直以為 Git Flow 等於 Github flow,直到這陣子阿舍自己要來使用 Git 時,才發現這個 Git Flow 和 Github Flow 是不太一樣的哩 !


簡單來說,Git Flow 是以 Release 為基礎的開發流桯,在開發過中,人每一個儲存庫 ( Repo, Repository ) 除了有 Master 這個主要的分支之外,還會有為不同 Release 版本設置的分支,然後,每個 Release 版本分支下還會有開發用的 Develop 分支,接下來,才是為不同的新功能 (Feature) 而建立的分支。

Git Flow 的一種 (Image Credit nvie.com )

之後,等分支出去的新功能完成後,依序再從新功能分支併回 Develop,再併回 Release,最後併回 Master 來做發行,因此,相比之下,Github flow 的流程就顯得比較簡單一些哩 !

Github Flow 是以持續整合 (CI) 開發為目的開發流程,可能一天之內就會有多次的部署或發行,因此,Github Flow 就只有一個 Master 分支,沒有再分 Release 和 Development 等等的分支,但是,所有要開發的新功能也都是會分別開立不同的分支來進行,之後,經過 Pull Request 後再併回 Master 儲存庫來進行佈署。

基本上來說,這二種流程都只是一種參考性的指南,並不代表你用 Git 或 Github 就得選那一種流程,阿舍之前在 Github 上所採用的,就是改良過的 Git Flow 哩 ! 原則上,阿舍還是建議得花些時間來調整出適合自己團隊的運作方式會比較好哩 ! 但是,不論是選用那一種流程,都要好好瞭解一下 Git 的分支模式哩 !

以上就是阿舍認知的 Git Flow 和 Github Flow 的不同,提供參考囉 !

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁