2015年8月24日 星期一

git控管下,開發到一半發現出包時的SOP

經常在過了好幾版後才發現,有些修改是正確的應該被留下,但有些是不該留下的

怎麼處理呢?

1.找出新增了不該新增程式的最早版本的前一版;用 git diff 配合 git log 找出這個不含任何錯誤的最近版本
2.用 git stash save -u '???' 建立暫存版本,其中 ??? 是說明文字
3.回到這個最近正確版本,用 git checkout ??? ,其中 ??? 是這個版本的編號
4.建立修正分支,用 git checkout -b hotfix ,其中 hotfix 是分支的名稱,可以取有意義的名字
5.執行 git checkout master 及 git stash pop 取回剛暫存的最新內容
6.在 hotfix 及 master 兩個 branch 之間移動,並進行編輯以縮小兩者之間的不同到最小程度;調整專案內容,執行 git add -A . 及 git commit -m '...' 存入改變
7.發佈 hotfix ; 繼續在 master 上進行開發

參考:
30 天精通 Git 版本控管 (16):善用版本日誌 git reflog 追蹤變更軌跡
30 天精通 Git 版本控管 (13):暫存工作目錄與索引的變更狀態
30 天精通 Git 版本控管 (09):比對檔案與版本差異
30 天精通 Git 版本控管 (08):關於分支的基本觀念與使用方式
30 天精通 Git 版本控管 (04):常用的 Git 版本控管指令

沒有留言:

張貼留言