2013-02-26 63 views
0

我在我的服務器上安裝了git,爲了拉動master分支,我做了:git checkout origin/branchname,這導致了我的服務器repo上一個名爲「origin/branchname」的分支。之後,我學會了正確的方式來獲取分支(使用抓取和拉),但我的服務器回購中仍然有origin/branchname。我有兩個問題:刪除名稱爲'origin/branchName'的本地分支

  1. 那是什麼?它與我使用pull創建的「普通」branchname有什麼不同?

  2. 刪除我的服務器repo上的origin/branchname是否安全?中央存儲庫是否有任何風險?我懷疑是這樣,但我想在做之前檢查一下。

澄清:我不希望在我的中央資料庫,以改變什麼(我們使用到位桶)。我只想刪除我的發行版本中的origin/branchname,並破壞任何內容。

回答

0

origin/branchName是本地分支的有效名稱。如果您運行git branch,你看到它列在那裏,這意味着它是一個本地分支,它可以安全刪除(不與任何遠程分支搞亂)有:

git branch -d origin/branchName 

如果你有一個名爲像這樣的分支,而且你也碰巧有一個遠程分支會解析爲相同的名稱,當你使用這個參考運行git命令時,你會收到警告:

git show origin/branchName 
warning: refname 'origin/branchName' is ambiguous. 
0

如果您將其視爲「獨特」分支,並且您也可以看到您的「新」分支。我會說,它是確定刪除「git push :[branch_to_delete]

您可以在本地刪除這樣說:git branch -d [branch_to_delete]和分支將仍然可用在「雲」

+0

謝謝。請檢查我上面的更新。我想我的問題還不清楚。 – emersonthis 2013-02-26 16:57:42

0

是的,你可以安全地刪除分支。

如果你安裝了Git的V1.7.0,您可以使用刪除遠程分支:

混帳推起源--delete 'BRANCHNAME'

其中有一個更直觀的語法比:

git push origin:'branchName'

+0

謝謝。請檢查我上面的更新。我想我的問題還不清楚。 – emersonthis 2013-02-26 16:57:10

+0

小心,這會刪除遠程分支。 – LopSae 2013-02-27 00:29:22

1

<remote name>/<branch name>指示遠程存儲庫<remote name>上分支<branch name>的最後一個已知狀態。每當您從分支機構<branch name>的遠程存儲庫獲取新內容時,它都會移動其位置。它不是一個分支,它更像是顯示遠程存儲庫狀態的動態標籤。
這是有用的,所以不要刪除它。

+0

啊哈。這就解釋了爲什麼當我在branchname上使用'git status'時,它告訴我我在哪裏與origin/branchname有關。我明白了爲什麼我想保留它,但是我們可以先確定是否有刪除它的風險?它對原產地branchname會有什麼影響嗎? – emersonthis 2013-02-26 17:22:45

相關問題