Git實踐題目
一道有關于 git 實踐的題目,通過這道題可以掌握 git 分支,多人協作,重寫歷史等 git 的基本用法,會使用到 git init/add/commit/pull/rebae/branch/checkout/stash 等指令,歡迎提交 pull request 豐富實踐內容
-
在 branch master 有 a.txt 文件,增加如下內容"Initilize project",并以 "First commit" 信息來提交
-
基于branch master 創建 branch dev,在 a.txt 增加如下內容"Add feature 1",并以 "Modify a.txt" 信息來提交
-
在 branch dev 發現 "Modify a.txt" 不能反映所做更改的內容,修改提交信息為 "Add feature 1"
-
將 branch dev 合并到 branch master
-
在 branch dev 進行 Feature 2 開發的同時(在 a.txt 添加了 Add),發現 First commit 中的 "Initilize project" 提交錯誤(Initialize->Initilize,可假設為現實開發中重大的 bug),因而在 branch dev 儲藏該修改并切換到 branch bug 修復該問題,并以 "Correct errors in the first commit" 來提交
-
將 branch bug 合并到 branch master
-
這時候在 branch dev 的 fearture 2 開發完畢,以 "Add feature 2" 信息來提交
-
發現 feature 2 的修改不完善,修改內容為 "Add full feature 2", 不增加新的提交信息
-
將 branch dev 合并到 branch master
-
在 branch dev 進行 "Add feature 3.1" 的開發,并以 "Add feature 3.1" 來提交信息,同時一個遠程分支同步了上述 8 個步驟的更改,并同時在做相同特性的開發,以 "Add feature 3.2" 進行提交,同一個特性出現了兩個版本,這時候需要解決沖突,更改內容為 "Add feature 3",并將提交信息更改為 "Add feature 3"
-
將 branch dev 合并到 branch master
-
0.1 版本開發完畢對 branch master 打標簽
貢獻者:YuanbinZhou