簡體   English   中英

Git標簽和分支是否版本化?

[英]Are Git tags and branches versioned?

Subversion代表了存儲庫中的標簽和分支,使您可以對其進行操作和版本控制。 對於長久的存儲庫,這是一個有用的屬性,因為您可能想重用標簽或分支名稱。 您可以刪除分支並重新創建它,如果您想查看舊的分支,則只需簽出較舊版本的存儲庫即可。 使用Git,似乎一旦刪除它,剩下的就是哈希,沒有記錄表明曾經有一個標記或分支指向它。 那是對的嗎?

不,Git標簽和分支未版本化。 兩者都只是提交的指針。 與在工作樹文件( .hgtags )中跟蹤標簽的Hg相比,在Git中,它們存儲在admin( .git目錄)中。

簡短的答案是既沒有標記也沒有分支版本。 但是,您應該閱讀git tag手冊頁的“ On Re-Tagging ”部分。

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

  1. 鮑勃創建標簽v1.0
  2. 愛麗絲從鮑勃那里拉標簽
  3. 鮑勃將v1.0的標簽強制為不同的提交
  4. 下次愛麗絲(Alice)從鮑勃(Bob)離開時,她將不會獲得修改的標簽!

如果愛麗絲真的需要新標簽,則必須:

  1. git tag -d v1.0
  2. 再次從Bob拉出標簽

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM