Git Flow 讀書會 - 第 2 週
Jun/25/2015
討論範圍
- 回家作業
- Git Flow
預定進度
A successful Git branching model
回家作業
本地端
- 安裝 git-flow
- 看完 git-flow cheatsheet
- 在本地端透過 `git flow` 練習下列指令:
- feature start / finish
- release start / finish
- hotfix start / finish
GitHub
- 將 `hacking-thursday/git-flow-lab` fork 到自己帳號底下
- 到 GitHub `Settings` 將 Default branch 改為 `develop`
- 執行 `git clone git@github.com:<使用者名稱>/git-flow-lab.git`
- 新增 feature,隨意提交一些內容,publish 到自己的 repository
- 到 GitHub 送出 pull request,將 feature branch 送到 develop branch
- 內容確認無誤後,按下 `Merge pull request` 整進 develop branch
註:您可透過 `git log --oneline --decorate --color --graph` 檢查目前的 workflow。

心得筆記
`git archive` 打包 release
`git shortlog` 可用來整理 changelog
http://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project#The-Shortlog
Git Flow 影片示範:
A short introduction to Git Flow
Q: release branch 一般由誰建立?
repository 管理員
Q: release branch 更改哪些檔案?
A:
RELEASE - 版本號
CHANGELOxG - 變更紀錄
Q: CHANGELOG 的變動一般由誰在哪個 branch 做修改?
A: repository 管理員 release branch
Q: hotfix 不用經過測試就 merge 回 master 嗎?
A:從 git log 應該看不出, 但實際上應該會有只是測試時間很短
A: hotfix 是緊急機制,決策者可隨時 merge,跟正常流程不一樣。
Q: 體會不出 reflog 意義
A:似乎是目前切換 branch 歷程紀錄
A: git 會將所有行為記錄 90 天(預設),可以用 git reset HEAD@{#} 來重作所有指令,包含 rebase、reset...etc
Q: git rebase -i xxxxx 會不會把 merge 進來的節點拉直(merge 進來的 Commit 還在, 但 merge from 的記錄消失, )?
A: 預設會把 merge 的 log 消除,可以在 rebase 多加 -p (--preserve-merges), 避免消除 merge log.
活動簽到
GhostYang
Poying Chen