2017-06-02 73 views
0

我想checkout我剛剛從我的upstream遠程回購中提取的分支,但它似乎並沒有工作。git fetch工作,但結帳分支不起作用

$ git fetch upstream 
Fetching upstream 
From github.com:group/repo 
* [new branch]  feature-branch -> upstream/feature-branch 

$ git checkout feature-branch 
error: pathspec 'feature-branch' did not match any file(s) known to git. 

我做錯了什麼?

回答

6

該分支可能存在於多個遠程中。 (您可以用git branch --list --remotes '*/feature-branch'來確認。)git checkout只會在不明確的情況下創建類似的分支。從git-checkout(1)

如果<branch>沒有找到,但有確實的存在跟蹤分支只有一個遙控器具有匹配名稱(稱之爲<remote>),當作相當於

$ git checkout -b <branch> --track <remote>/<branch> 

所以你我們需要這樣做:

git checkout -b feature-branch --track upstream/feature-branch 
-1

有一些自動裝置可能會發生,當您要求結帳時cal分支不存在(例如,從某個遠程分支創建它),但這不會失敗:git checkout upstream/feature-branch。唯一的是沒有創建本地分支。

1

你想讓git瞭解「快捷方式」結帳符號,但它似乎發現它不適用。也許多個遙控器有分支名叫feature_branch

好了,反正git checkout -b feature-branch -track upstream/feature-branch應該工作

0

當您運行git checkout feature-branch混帳嘗試刪除名爲feature-branch在文件中的所有未保存的更改。對於checkout您的分支使用-b選項,如git checkout -b feature-branch