2016-01-25 61 views
1

我在我的本地環境中安裝了SourceTree。我正在爲一家企業共享一個git回收庫。看起來管理員創建了一個新的回購RepoY,我們以前只有1個回購(RepoX)。我意外地在RepoY中創建了BranchZ,我需要刪除它。如何從只有1個分支的sourcetree中的repo中刪除分支?

我在RepoY下通過SourceTree選擇了BranchZ,右鍵單擊,我可以「刪除」它,但現在它在左側顯示一個紅色的減號。我試圖「刪除」分支,但SourceTree返回以下錯誤:「錯誤:無法刪除您當前所在的分支'BranchZ'。」

我無法在回購庫內切換分支,因爲BranchZ是回購庫中唯一的分支。如果我在SourceTree中雙擊不同的repo,那麼我只能刪除RepoY中的RepoY,而不能刪除RepoY中的BranchZ。有沒有辦法通過SourceTree來實現我想要做的或者這是SourceTree的限制嗎?

+0

這不是SourceTree的限制。錯誤信息來自'Git'。 – axiac

+0

它是本地分支還是遠程分支? – Msp

回答

2

當您使用git init創建git存儲庫時,默認情況下會創建主分支。我認爲在你的情況下,主分支可能會被一些錯誤刪除,或者你無意中重命名了它。所以,在這種情況下,你可以從SourceTree做什麼,

  1. 創建一個名爲master
  2. 結帳master分支
  3. 分支刪除BranchZ分支

或者在命令行中,

cd <repo_dir> 
git branch master 
git checkout master 
git branch -d BranchZ 
1

您不允許刪除您所在的分支,首先你已經簽出另一個分支,因爲它是唯一可以簡單地簽出主分支的分支(如果未被刪除,每個分倉都有主分支)。然後你可以刪除,但要確保你的回購是正確的。

git checkout master 
git git push origin :<branchName> (it deletes local and remote branch in case of you already pushed commits) 
+2

請添加一些評論和評論..這將有助於用戶 – Jayan

+0

好的,我更新了謝謝。 – FatmaT