[英]Are git branches just tags?
我注意到git能夠簽出特定的提交。 在那之后,我開始明白git是如何運作的。
但我想確定這是正確的:當我創建一個分支時,它只不過是一個指向當前提交的標記。 當我簽出這個分支時,我會檢查這個“標簽”指向的提交。 現在,當我提交某些內容時,會創建一個新提交。 現在已檢出的分支標記現已更新,因此它指向新的提交。
所以...事實上,我可以手動完成所有這些,對吧? 這只是讓事情變得簡單的一個功能。
是的,這是分支機構的好模型。 但要注意術語 - git也有標簽的概念,但標簽不會移動 - 它們永遠指向相同的提交。
更新:添加更多細節,這可能是有趣的...
您當前的分支存儲在HEAD
文件中,該文件指向分支,在這種情況下,內容如下所示:
ref: refs/heads/master
...或者它直接指向提交,在這種情況下,內容將如下所示:
2b45553eec2019594724dcbb4c252a74cbb5f38e
在前一種情況下,分支master
在您創建新提交時是高級的,但在后一種情況下(由於顯而易見的原因稱為“分離的HEAD”),在創建新提交時不會更改分支。
Branch是一個引用指針,它指向當前提交,如你所說。
但你不應該互換使用這些詞,因為它們意味着別的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.