2011-01-06 196 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