git原理圖及git協同模型
阿新 • • 發佈:2019-01-23
head預設指向master(主分支) index類似暫存區,add就是提交到這裡,而objects就是記錄相關檔案資訊,包括修改資訊及id等。commit才提交。 git工作模型: 集中式協同模型:
社交網路式協同模型:
開源軟體一般就是這種模型。有許可權的限制。普通人員只能拉取程式碼,而不能直接將程式碼提交到主要的共享倉庫。 git經典協同模型:中心倉庫:包含master和develop兩個分支 分支分類: 主要分支:master和develop分支
支援性分支:特性分支,釋出分支,熱補丁分支 git經典協同模型過程: 最右邊的是主分支,黃色的是develop分支,比如開發版本1.0,開發過程中master出現問題要修改,產生的就是紅色點的,叫熱補丁分支。 紅色的熱補丁分支修改完成後,除了要合併到master外,還要合併到正在開發的develop分支,這樣之後更新的版本如2.0合併到master後才不會出現同樣的bug。完成後熱補丁分支也就完成使命,可以銷燬了。 綠色部分的為釋出分支。即當版本1.0(黃色部分)開發完成後,黃色部分可能繼續開發下去,比如接著開發2.0,然後將1.0的版本以釋出分支獨立處出來,進行測試階段的執行,然後途中出現問題,修復並且合併到develop分支,當該版本不再出現問題後沒,即可將該分支合併到master,同時也要何合併到正在開發的develop分支(因為如果釋出分支有修復了bug的話,合併後才能使下一個版本不會出現同樣的bug),完成後,釋出分支使命也完成了。 最左邊的紫紅色部分,為特性分支,即當你在開發產品時,突發奇想想到了新功能或者新的解決方法或者其它等新嘗試,但不敢保證可以完成這部分的開發,所以以特性分支獨立出來開發。如果開發能夠完成,既可以合併到develop分支裡。