2011-01-06 391 views
0

我創建了一個新的目錄c:\ Src,我在其中克隆了一個存儲庫。克隆後,我得到以下git clone - 本地更改後無法進行pull或push

$ git branch 
* Search 

$ git branch -a 
* Search 
remotes/origin/master 
remotes/origin/prototype 

如果我再試試

$ git checkout -b master origin/master 

返回

error: You have local changes to '<some_file>'; cannot switch branches 

拉給出了同樣的錯誤。

我沒有做任何改變,我很困惑爲什麼它不使用主分支作爲默認值?

+0

「git config -l」顯示什麼? – ebneter 2011-01-07 03:16:52

回答

0

首先,您可能需要簽出master的跟蹤分支。你可以使用-t-track而不是-b(或者如果你有最新版本的git,你可以使用git checkout origin/master,它會自動創建一個跟蹤分支)。

至於你的具體錯誤,你應該運行git status看看你是否有任何本地更改。如果你這樣做,然後你可以運行git stash,做你的結帳/拉,然後git stash pop事後。

+0

很好的答案,但我認爲'git stash apply'對於初學者來說更安全,因爲他們不會放棄隱藏的更改,也不必混淆reflog – asymmetric 2011-01-07 21:33:08