[英]Why after command git branch I see origin/master instead of master
我的同伴試圖從git分支克隆源。 當我在他的機器“ git branch”上嘗試時,它輸出:origin / master。 我已經克隆了相同的源,但是在git branch之后,我總是看到輸出:master。 我讀到origin / master表示遠程分支,但我不明白為什么他會看到遠程分支而不是本地分支。 問題原因可能是什么?
這很可能是由於引用的歧義消除所致,因為可以命名本地分支的起源/母版。
有關詳細信息,請參見Git修訂文檔 。但是,總結起來,在解析參考時,它會依次檢查以下位置並返回第一個匹配項:
$GIT_DIR/<refname>
$GIT_DIR/refs/<refname>
$GIT_DIR/refs/tags/<refname>
$GIT_DIR/refs/heads/<refname>
$GIT_DIR/refs/remotes/<refname>
$GIT_DIR/refs/remotes/<refname>/HEAD
在您朋友的存儲庫中查找,您將找到此文件$GIT_DIR/refs/heads/origin/master
。 如果是這樣,那么一切都可以正常工作,而他只是得到了一個含糊的參考。 他將希望更改其本地分支名稱以消除歧義,因此消除歧義不會出現意外問題。
當您鍵入git checkout -b origin/master
而不是git checkout -b master origin/master
時,通常會在結帳時發生
附帶說明一下,您的本地分支名稱只是指向提交的指針,因此,它的名稱(只要它沒有歧義)實際上並不重要。 推送到遠程服務器時,您將根據本地分支機構的遠程設置更新遠程服務器的分支機構,因此您的本地分支機構名稱將永遠不會被其他任何人看到。
我認為答案很簡單,您的朋友已簽到由大師主持的起源/大師。 執行cmd:
git branch --all
在顯示的分支列表中,嘗試找到master
分支,如果沒有這樣的分支,只需簽出該分支即可
git checkout master
然后從本地副本中刪除原始文件/母版
git branch -D origin/master
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.