2012-08-02 81 views
14

我运行:的Git结账另一支

git checkout mygithub/master 

但出于某种原因,运行“git的状态”显示“当前没有任何分支”。运行:

git checkout master 

然后git status,说我现在在分支主人。现在我想切换到另一个分支。运行git checkout anotherbranch工程,但git status说我仍然在分支'主'。我究竟做错了什么?

+0

'git checkout anotherbranch'是否产生任何输出? – poke 2012-08-02 18:44:13

+0

它显示没有输出,没有错误。 – NoBugs 2012-08-02 18:46:01

回答

18

mygithub/master是一个远程分支。要根据该远程分支创建本地分支,必须使用git checkout -b mymaster mygithub/master。 Git试图让你轻松:如果你写git checkout branchname,而branchname只存在于远程,但不在本地,Git会自动设置一个以<remote>/branchname为父节点的本地分支。

+0

那么,为什么git checkout branchname从来没有切换到这个?分支存在于github上,我只想将主更改合并到它。 – NoBugs 2012-08-02 18:51:59

+0

@NoBugs:'git checkout -b remotemaster mygithub/master'应该从'mygithub/master'创建一个新的分支并切换到它。 – knittl 2012-08-02 18:54:16

+0

'git checkout -b其他分支mygithub/otherbranch'可以工作,但'git merge mygithub/master'想要'快进'并从非主分区中删除文件,这是我想保留的。 – NoBugs 2012-08-02 19:01:40

9

如果你想切换到另一个分支,然后运行这个命令:如果你想删除一个分支,然后运行该命令

git checkout branch name 

:如果你想创建一个新的

git branch -D branch name 

然后运行这个命令:

git checkout -b branch