我創建了一個分支,對它進行了處理,將其與基本分支合併,現在想刪除它。該分支也是在git遠程服務器上創建的。git從遠程git服務器中刪除開發分支
現在,當我運行git branch -d分支時,它將它移除,然後我將它推開。但我仍然看到git遠程服務器上的分支。
當我創建這個分支時,我看到類似的問題,並且我無法在遠程git服務器上看到它。
我甚至可以從這個分支結賬。
我在這裏錯過了什麼嗎?
我創建了一個分支,對它進行了處理,將其與基本分支合併,現在想刪除它。該分支也是在git遠程服務器上創建的。git從遠程git服務器中刪除開發分支
現在,當我運行git branch -d分支時,它將它移除,然後我將它推開。但我仍然看到git遠程服務器上的分支。
當我創建這個分支時,我看到類似的問題,並且我無法在遠程git服務器上看到它。
我甚至可以從這個分支結賬。
我在這裏錯過了什麼嗎?
要刪除的遠程
git push remote :refs/heads/development
分支,可以用下面的神祕的命令刪除遠程分支:
git push origin :newfeature
您可能需要更新索引,所以跟蹤分支被作爲去除好:
git fetch origin --prune
爲了擴大這些答案,每個分支基本上存在於三個地方:
origin/foo
origin/foo
本地副本(這是通過git fetch
更新)foo
(這是通過git merge origin/foo
以下git fetch
更新 - 或者更常見的是,兩者都通過git pull
一起做)。git branch -d
刪除這三個中的最後一個,即本地分支。 git branch -d -r
將刪除您的遠程分支的副本(或者您可以在刪除本地分支後運行git remote prune origin
)。
要刪除遠程服務器上的分支,您必須使用git push
。舊的語法是git push origin :branchname
。這是因爲語法是localref:remoteref
,例如,可以將機器上的本地分支推送到具有不同名稱的遠程分支,例如, git push origin localbranch:remotebranch
。如果您將localbranch
部分留空,您告訴git將任何東西都推送到遠程分支,將其刪除。
如果這很混亂,不要擔心,git開發人員會同意你的意見。較新的版本有--delete
選項,因此git push origin --delete branchname
的功能與git push origin :branchname
的功能相同,但其目的更加清晰。
或等效:'git push remote:development' – Koraktor 2012-01-27 22:25:29
@Koraktor,是的,除非ref是別處,否則會這樣做。 – 2012-01-27 22:26:33