我很難理解/驗證Pro Git的以下行:
重要的是要注意,當您執行會關閉新的遠程跟蹤分支的提取時,您不會自動擁有它們的本地、可編輯副本。換句話說,在這種情況下,您沒有新的 serverfix 分支——您只有一個無法修改的 origin/serverfix 指標。
我為存盤庫嘗試了以下操作。
git clone git://git.bugseng.com/ppl/ppl.git
cd ppl
我ppl/src/從本地計算機中洗掉了檔案夾,并將預先存在的檔案夾復制ppl/m4/到其中ppl/m4 - Copy,以便在本地修改/編輯該檔案夾。
然后,我跑去git fetch origin(我想)讓自己陷入上面書中參考的情況。我(當然)對此在線存盤庫沒有任何寫入權限。
現在,我很容易做到git add .并且git commit沒有任何錯誤。的輸出git status是:
:~/ppl$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
一切如預期。也就是說,我已經能夠在本地提交和編輯分支。我無法將這與書中的引述相協調,該引述指出我不會擁有它們的本地可編輯副本。
uj5u.com熱心網友回復:
請注意,您參考的短語指的是一個serverfix分支——而不是master.
如果是master(或任何遠程 HEAD),當您克隆時,您會自動獲得一個本地副本;因此,您無需制作一個。
但是,如果有任何其他分支機構,clone則不會為您制作這些分支機構的本地副本,而單純的fetch也不會給您它們的本地副本。您可能有遠程跟蹤分支,例如origin/someBranch,但如果您想編輯 someBranch,您必須先創建它。
uj5u.com熱心網友回復:
Pro Git 參考說 agit fetch實際上并沒有簽出您獲取的遠程分支的本地副本。它只是一個指標,允許本地 git 知道分支存在并允許您檢查它。要對此進行測驗,請克隆遠程存盤庫的副本。接下來在您的遙控器上創建一個分支fetch-branch-test。在本地 repo 上運行git checkout fetch-branch-test,你會得到一個錯誤,說 git 找不到分支。git fetch本地運行,然后git branch。您將看到仍然沒有fetch-branch-test. 最后,git checkout fetch-branch-test再次運行,您會注意到您現在擁有遠程分支的本地副本。這是因為 git fetch 添加了新遠程分支的本地指標,但直到您運行git checkout.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/451132.html
標籤:混帐
