Git Flow 讀書會 - 第 2 週

最後編輯:2015-07-02 建立:2015-06-18 歷史紀錄

CARL SJun/25/2015

« 回首頁 | 第 3 週

 

    CARL S討論範圍

  • CARL S回家作業
  • Git Flow

 

    CARL S預定進度

CARL SA successful Git branching model

 

    CARL S回家作業

CARL S本地端

  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。

 

    CARL S心得筆記

CARL S`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 一般由誰建立?

DANIEL Lrepository 管理員

 

陳幸延Q: release branch 更改哪些檔案?

A:

RELEASE - 版本號

CHANGELOxG - 變更紀錄

 

Q: CHANGELOG 的變動一般由誰在哪個 branch 做修改?

DANIEL LA: repository 管理員 release branch

 

陳幸延Q: hotfix 不用經過測試就 merge 回 master 嗎?

DANIEL LA:從 git log 應該看不出, 但實際上應該會有只是測試時間很短

CARL SA: hotfix 是緊急機制,決策者可隨時 merge,跟正常流程不一樣。

 

DANIEL LQ: 體會不出 reflog 意義

A:似乎是目前切換 branch 歷程紀錄

YGHOST YA: git 會將所有行為記錄 90 天(預設),可以用 git reset HEAD@{#} 來重作所有指令,包含 rebase、reset...etc

 

SHAWN LQ: git rebase -i xxxxx 會不會把 merge 進來的節點拉直(merge 進來的 Commit 還在, 但 merge from 的記錄消失, )?

A: 預設會把 merge 的 log 消除,可以在 rebase 多加 -p (--preserve-merges), 避免消除 merge log.

 

    CARL S活動簽到

CARL SCarl Su

SHAWN LShawn Lin

DANIEL LDaniel YC Lin

陳幸延陳幸延

YGHOST YGhostYang

ROBERT WRobert D. Wei

CARL SPoying Chen