我一直在閱讀和練習 git。我有一個關于指標的問題HEAD。我知道它是一個指向當前分支的特殊指標,但是如果我這樣做了git branch --all,我所看到的就是:
* Test_Branch_1
main
remotes/origin/HEAD -> origin/main
remotes/origin/Test_Branch_1
remotes/origin/main
這是有道理的。我可以看到我的遠程main分支并HEAD指向它。但是我也看到了一個*next to Test_Branch_1which 似乎HEAD也指向了Test_Branch_1? 如果我Test_Branch_1通過做git log -1查看我的最后一次提交,我會看到類似的內容:
commit checksum (HEAD -> Test_Branch_1)
Merge: ...
Author: ...
Date: ...
再次,HEAD似乎指向Test_Branch_1。似乎有本地和遠程版本的HEAD? 本地的跟蹤我在本地的哪個分支?在這種情況下,本地版本Test_Branch_1? 而遠程版本HEAD在實踐中從不改變(即始終指向main)?
這是正確的還是我誤解了這一點?
uj5u.com熱心網友回復:
你的解釋是正確的。
remotes/origin/HEAD是遠程分支的本地別名。
它指向您希望成為默認分支的內容,以origin允許您在任何有意義的地方使用origin而不是(例如)origin/main。
您可以使用git remote set-head origin main/設定/洗掉它,git remote set-head -d origin
這對遠程存盤庫沒有影響,也不會與您的團隊成員共享。
附帶說明一下,因為您可以有多個origins,所以您可以擁有多個remotes/.../HEAD.
有關更多資訊,請查看git remote set-head的檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/395514.html
標籤:混帐
