2013-08-22 163 views
8

我不知道爲什麼我嘗試重命名本地分支失敗。我基本上克隆了項目,然後在項目中也有一個子模塊,我也下載了子模塊代碼。然而,當我在子模塊中使用git branch,我有:git:重命名本地分支失敗

* (no branch) 
    master 

的代碼看起來像我的另一個分支,但輸出表明,它不會有一個名字。然後,我在網上搜索找到如何重命名本地分支,我得到這個:

git branch -m <newname> 

我運行此命令後的Git給了我這個錯誤:

error: refname refs/heads/HEAD not found 
fatal: Branch rename failed 

有人知道爲什麼會這樣?謝謝。

回答

19

您目前位於分離頭狀態。您必須簽出新分支才能將其與當前提交相關聯:

git checkout -b new_branch 
+0

您說得對!我以爲git無法識別與一個分支名稱相同的分支,而您的命令正在創建一個新的分支,但事實證明它起作用。謝謝。 –

1

我的猜測是你不在名爲「(no branch)」的分支上,而是不在分支上。

如果先結賬主:

git checkout master 

,然後創建一個新的分支:

git checkout -b new_branch 

這將使它看起來像你所期望的。