發(fā)版分支 + 保護(hù)分支。功能代碼在 Release 分支上測(cè)試通過(guò)、或 BUG 已在 Hotfix 分支上修復(fù),則需要將代碼合并到 Master 分支。代碼合并到 Master 分支,即代表可以隨時(shí)發(fā)版,發(fā)版成功時(shí)需要基于 Master 分支上的最新提交節(jié)點(diǎn)打 Tag。
修復(fù)分支 + 臨時(shí)分支。線上出現(xiàn)緊急 Bug 時(shí),需要基于對(duì)應(yīng)版本的 Tag 創(chuàng)建修復(fù)分支,問(wèn)題修復(fù)完成時(shí)以此分支進(jìn)行提測(cè)。問(wèn)題修復(fù)后,需將代碼合并到 Develop 和 Master 分支。
預(yù)發(fā)布分支 + 臨時(shí)分支。功能開(kāi)發(fā)完成并合并到 Develop 分支時(shí),基于 Develop 分支創(chuàng)建 Release 分支進(jìn)行提測(cè) 。Release 分支上出現(xiàn)影響發(fā)版的 Bug 時(shí),需要?jiǎng)?chuàng)建 Feature 分支修改 Bug;當(dāng)測(cè)試通過(guò)后,需將代碼合并到 Develop 和 Master 分支。
開(kāi)發(fā)分支 + 保護(hù)分支。多人協(xié)作開(kāi)發(fā)時(shí)的代碼合并總分支,功能分支向 Develop 分支合并時(shí),往往會(huì)有 CodeReview 流程。
功能分支 + 臨時(shí)分支。有新需求時(shí),基于最新的 Deveop 分支創(chuàng)建功能分支,功能開(kāi)發(fā)完成時(shí),需將代碼合并到 Develop 分支。
Tag 和 Branch 類(lèi)似,都是引用或者說(shuō)者指針。在工程里 .git/refs 目錄下能夠清楚的看到,各個(gè) Tag 和 Branch 所指向的提交節(jié)點(diǎn)的 SHA-1 值。