16

我知道这之前已经介绍过,但是我尝试了以下方法,似乎无法删除远程分支。

aly@neon:~/workspace/3DOD_VARIANCE$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/multi_gauss_at_nodes
  remotes/origin/old-state-with-mean-deviation-from-centre
  remotes/origin/variance-branch


aly@neon:~/workspace/3DOD_VARIANCE$ git branch -r -d origin/old-state-with-mean-deviation-from-centre Deleted remote branch origin/old-state-with-mean-deviation-from-centre (was 0ed90b2).


Fetching origin
From https://bitbucket.org/alykhantejani/3dobjectdetection
 * [new branch]      old-state-with-mean-deviation-from-centre -> origin/old-state-with-mean-deviation-from-centre

如您所见,分支已被再次获取。知道我做错了什么吗?

另外,作为旁注,有没有办法让我在删除之前检查这个分支是否已经合并回 master ?

4

3 回答 3

25

完整的推送命令如下

git push <remote name> <local branch>:<remote branch>

只需以这种方式将“根本没有分支”发送到远程服务器:

git push origin :old-state-with-mean-deviation-from-centre

旁注:当您使用“git branch -d”时,git会阻止您删除尚未合并的分支(如果您确实确定要删除它,则告诉您使用-D)。

还要注意git branch -d -r <branch name>删除 .git 文件夹中的引用(而不是位于远程服务器上的真实分支),这就是为什么新的 fetch 将重新创建它

于 2013-07-09T10:52:43.243 回答
22

要删除远程分支,请运行以下命令:

git push origin :branch-to-delete

诀窍是在冒号

于 2013-07-09T10:46:47.187 回答
3

尝试

git push origin :remote_branch_to_be_deleted
于 2013-07-09T10:46:56.953 回答