[英]Does `origin/master` refer to a remote branch in a remote repository, or a remote-tracking branch in a local repository?
使用Git的版本控制說
默認情況下,每個新克隆都通過一個稱為“ origin”的遠程維護鏈接回到其父存儲庫。 ... Git還使用默認的獲取refspec配置默認的原始遠程服務器:
fetch = +refs/heads/*:refs/remotes/origin/*
建立此refspec預期您希望通過從原始存儲庫中獲取更改來繼續更新本地存儲庫。 在這種情況下,遠程存儲庫的分支可以在克隆中以
origin/
前綴的分支名稱上使用,例如origin/master, origin/dev
或origin/maint
。
上面似乎說origin/master
是指遠程存儲庫中的遠程分支。
如果由於克隆而使備用歷史記錄位於不同的存儲庫中,那么必須通過獲取操作將遠程分支帶入您的存儲庫中。 您可以通過直接
git fetch
命令或作為git pull
命令的一部分執行操作; 沒關系。 無論哪種情況,提取都將遠程提交(這里為C和D)提交到您的存儲庫中。 引入帶有提交C和D的備用歷史記錄絕對不會改變以X和Y表示的歷史記錄; 這兩個備用歷史記錄現在同時存在於您的存儲庫中,並形成一個更復雜的圖形。 您的歷史記錄由master分支表示,遠程歷史記錄由origin/master
遠程跟蹤分支表示。
上面的內容似乎表明origin/master
指的是本地存儲庫中的遠程跟蹤分支。
那么origin/master
引用是指遠程存儲庫中的遠程分支,還是本地存儲庫中的遠程跟蹤分支? 什么時候指的是哪個?
您對第一段的評估對我來說似乎是錯誤的: origin/master
確實引用了您本地的遠程跟蹤分支。
表達式“ 通過克隆名稱...可在克隆中使用遠程存儲庫的分支”表示。 這些是遠程分支的本地副本,僅在您fetch
時更新,但在任何時候都可以本地訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.