實際開發流程
分支概念
在使用版本控制工具開發的過程中,同時推進多個任務
分支的好處
1)同時並行推進多個功能開發,提高開發效率
2)各個分支在開發過程中,如果某一個分支開發失敗,不會對其他分支有任何影響。失敗的分支刪除重新開始即可。
分支操作
理論分支操作
1)master、hotfix其實都是指向具體版本記錄的指針。當前所在的分支,其實是由HEAD決定的。
2)所以創建分支的本質就是多創建一個指針。
3)HEAD如果指向master,那麼我們現在就在master分支上。
4)HEAD如果執行hotfix,那麼我們現在就在hotfix分支上。
5)所以切換分支的本質就是移動HEAD指針。
創建分支和切換分支
在兩個不同分支分別做不同修改操作
在兩個不同分支分別做不同修改圖:
合併分支
合併分支圖解
合併分支時一定是涉及到兩個分支。這兩個分支一個是“當前所在分支”,一個是“目標分支”。
命令寫法:git merge 目標分支
所以分支合併命令的本質就是把“目標分支”合併到“當前分支”。
例如:把hotfix合併到master
git merge hotfx
需要確保當前所在的分支是master
例如:把master合併到hotfix
git merge master
需要確保當前所在的分支是hotfix
分支衝突
查看文件:Git使用“<<<<<<<、=========、>>>>>>>>>>”符號幫我們標記出來,現在產生衝突的內容。
衝突產生的原因
合併分支時,兩個分支在同一個文件的同一個位置有兩套完全不同的修改。Git無法替我們決定使用哪一個。必須人爲決定新代碼內容。(合併文件基本都會產生衝突)
衝突的解決
- 刪除git幫我們標記的特殊符號:直接vim hello.txt 然後進行刪除"===== HEAD "等符號
2. 添加到暫存區
3. 執行提交(注意:使用git commit命令時不能帶文件名)