Git Flow 讀書會 - 第 2 週

Jun/25/2015

« 回首頁 | 第 3 週

討論範圍

預定進度

A successful Git branching model

回家作業

本地端

  1. 安裝 git-flow
  2. 看完 git-flow cheatsheet
  3. 在本地端透過 `git flow` 練習下列指令:
    1. feature start / finish
    2. release start / finish
    3. hotfix start / finish

GitHub

  1. 將 `hacking-thursday/git-flow-lab` fork 到自己帳號底下
  2. 到 GitHub `Settings` 將 Default branch 改為 `develop`
  3. 執行 `git clone git@github.com:<使用者名稱>/git-flow-lab.git`
  4. 新增 feature,隨意提交一些內容,publish 到自己的 repository
  5. 到 GitHub 送出 pull request,將 feature branch 送到 develop branch
  6. 內容確認無誤後,按下 `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.

活動簽到

Carl Su

Shawn Lin

Daniel YC Lin 

陳幸延 

GhostYang

Robert D. Wei

Poying Chen