2012-02-15 122 views
0

Subversion代表倉庫中的標籤和分支,允許您操作和版本。對於長壽命的存儲庫,這是一個有用的屬性,因爲您可能需要重用標記或分支名稱。您可以刪除分支並重新創建分支,如果您想查看舊分支,那麼您只需檢出舊版本的存儲庫。使用Git,似乎一旦你刪除它,你剩下的全部就是散列,並且沒有記錄,以前有一個標籤或分支,其中有一些名字指向它。那是對的嗎?Git標籤和分支版本是?

回答

3

不,Git標記和分支沒有版本化。兩者都只是提交的提示。與標籤在工作樹文件(.hgtags)中跟蹤的Hg相反,在Git中,它們存儲在admin目錄(.git目錄)中。

+0

拉標籤這是正確的。我們應該進一步闡述。把它看作是一個時間線,標籤在該時間線上的一個點上簽名,就像1776年7月4日簽署的獨立宣言一樣。 – 2012-02-15 20:53:07

+0

所以如果你不小心刪除了一個標籤,那麼就無法取回它了?我想你可以瀏覽歷史,但這是乾草堆裏的針,不是嗎? – dromodel 2012-02-15 20:55:26

0

簡短的回答是,標籤和分支都沒有版本。但是,您應該閱讀git標籤手冊頁的「On Re-Tagging」部分。

如果您更改已經公開的標籤,將會導致問題,因爲git不會從用戶下方更改標籤。例如:

  1. 鮑勃創建標籤v1.0
  2. 愛麗絲是直接從鮑勃標籤
  3. 鮑勃強制爲v1.0標籤到不同的提交
  4. 下一次愛麗絲從鮑勃·拉,她將獲取修改後的標籤!

如果Alice確實需要新的標籤,她必須:

  1. git tag -d v1.0
  2. 從鮑勃再次