2012-08-02 129 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