簡體   English   中英

Git缺少遠程上的分支名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM