0%

git workflow

既然git是個自由度很高的version control system,對於該怎麼工作這件事,也沒有什麼固定答案,除了當SVN那樣子用法之外,還有其他答案,因此就有這篇文章的產生。

Simple Git Workflow

重點只有三個

  • 當要開發New features時,就開一個New feature的Branch,且在上面開發
  • 將New feature的Code合併回master
  • 另外準備一個Branch,用作Deploy/Release用,在這邊發布的Code要經過Well test過的

A successful Git branching model

這是上面那種方式的無敵加強版

  • Mainstream從master移到了develop,master只維持穩定的版本。
  • feature分支一樣是開發New feature,完成之後會合併至develop
  • Release branches: 準備要 release 的版本,只修 bugs。從 develop 分支出來,完成後 merge 回 master 和 develop
  • Hotfix branches: 等不及 release 版本就必須馬上修 master 趕上線的情況。會從 master 分支出來,完成後 merge 回 master 和 develop
    這套流程固然強大,不過太複雜了。
    git-flow可以幫助簡化一些情況。
    可以參考Git flow 開發流程

Github flow

有鑑於上面那種方式太複雜,又衍生出來的新方式,也是GitHub自己在用的工作流程。感覺很像第一種方式,不過加上了Code review的能力。