我是可怕的問題的標題很抱歉,但我會盡力解釋自己多一點冗長:版本和傳統的SCM bugfixing
我使用Git(但我猜特定軟件在這種情況下並不重要)爲我的軟件項目。就像許多項目一樣,我計劃進行各種發佈。當有一個版本時,我可能會分配一個提交標籤 - 例如「1.0」。時間過去了,代碼被黑了,最後還有一個發佈版,還有另一個標籤 - 這次是「2.0」。
有一天,我注意到一個嚴重的錯誤,這是目前在版本1.0和2.0,它需要修復。爲了讓事情變得困難(也可能更現實一些),我不能僅僅在當前的master/trunk中修復它,並假設每個人都會使用它,因爲2.0中存在一些向後不兼容的情況,並且人們懶惰,不願意不想升級。
那麼,爲了支持這種行爲,可以採取什麼樣的措施:能夠對舊版本進行更改。由於git describe
命令(「[latest tag]-[commits since the tag]-[current commit hash]
」)的輸出,Git似乎將標籤與某些級別的發佈等同起來。那麼我可能無法完全避免使用標籤。
我可以感覺到標籤和分支的組合會是一個好主意,但由於某種原因,我無法用這個東西包圍我的頭。
如果你可以詳細闡述你的答案,也許有一個例子,我相信人們(不包括我)會更好地開悟。 – 2009-01-18 23:15:50