2013-06-29 36 views
3

我是一位學習如何使用源代碼管理軟件的開發人員。我已閱讀Subversion documentatio,我已考慮分支和標籤之間的差異,但我還不清楚。我也讀過這個問題:How is a tag different from a branch? Which should I use, here?和這個問題:What do "branch", "tag" and "trunk" mean in Subversion repositories?分支與標籤與SVN術語中的修訂

我不清楚的原因是因爲版本控制軟件(特別是svn)允許您返回到中繼或分支中的先前「修訂」。因此我沒有看到標籤的重點(我沒有說開發者不應該使用標籤 - 我只是不知道如何使用它們)。我不清楚修改意味着什麼。看起來標籤可以像修訂版一樣使用,反之亦然。

什麼時候應該使用「修訂」,何時應該使用「標籤」?

回答

3

標籤不過是一個特殊的只讀分支。 (即使是隻讀部分也可以避開。)

您將代碼發佈到生產當天使用標籤。你會用一個描述性的名字來標記代碼。該版本的代碼永遠不會再被修改。它使您能夠重新創建應用程序的狀態,就像標籤/生產日期一樣。

+0

謝謝。 +1表示:「您將代碼發佈到產品當天使用標籤」。這是有道理的。根據你的解釋,我現在認爲修訂/分支是用於開發版本控制的,標籤用於發佈版本控制。這是否合理? – w0051977

+0

標籤和分支在Subversion中是一樣的。唯一的區別是開發人員用它做什麼。 SVN不會阻止您更改標籤目錄中的任何內容。你甚至可以用'svn copy'創建分支和標籤。但是,你認爲標籤通常用於在開發時釋放和分支,這是對的。 – nif

+0

同意:這就是爲什麼我寫道「甚至只讀部分可以繞開。」 – duffymo