[英]Git missing branch name on remote
我有以下情況,github是我的起源,我看到有一個名為Release1.0
分支。 我也在控制台中看到了它:
xyz@yxz MINGW64 /c/myreponame (Development)
$ git remote show origin
* remote origin
Fetch URL: https://github.com/myorganization/myreponame
Push URL: https://github.com/myorganization/myreponame
HEAD branch: Development
Remote branches:
Release1.0 tracked
Development tracked
但是當我嘗試切換到該分支時,我看到:
xyz@yxz MINGW64 /c/myreponame (Development)
$ git checkout --track Release1.0 origin/Release1.0
fatal: Missing branch name; try -b
我認為重要的提示,在這里我正在使用Windows,分支名稱中的大寫字母可能有問題嗎? Windows不區分大小寫。
更新以反映會checkout
快捷方式的邊緣情況
這意味着您尚未創建本地分支Release1.0
。 分支存在於遙控器上,並且您擁有它的跟蹤引用-這就是show origin
輸出告訴您的。
但是,您使用的簽出語法對於設置本地分支以跟蹤遠程分支是不正確的。 只是
git checkout Release1.0
可能會工作。 這是checkout命令中內置的一種特殊情況“快捷方式”,因為通常要從一個可用的遠程“復制”分支。 無法使用的情況:
如果有多個具有相同分支名稱的遠程服務器,則git將不知道要檢出哪個遠程服務器,因此將拒絕使用該快捷方式。
如果你有一個同名的標簽, git會檢查出來(處於分離的HEAD狀態)。 在這種情況下,您仍然可以創建分支(不使用快捷方式;請參見下文),但是要注意有一個標記和一個具有相同名稱的分支。 (在實踐中, git
對於任何給定命令的行為都有相當明智的規則,並且您始終可以在標記和分支之間進行歧義;但是最好不要考慮這些事情。)
除快捷方式外,另一種方法是創建分支:可以使用-b
選項(如錯誤消息所示),因為這是在checkout
操作期間創建分支的更通用的方法。 或者您可以使用git branch
。
除非發生的事情多於您所闡明的,否則這不是Windows /區分大小寫的問題。 請注意,說“ Windows不區分大小寫”是沒有意義的。 Windows通常使用帶有不區分大小寫的文件名的文件系統是正確的,如果您嘗試創建兩個名稱相同(大小寫除外)的分支,這將導致問題。 但是並沒有說分支名稱必須全小寫(實際上這是區分大小寫的一種特殊形式)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.