目标: 删除名为 'branchname' 的远程分支
我之前用的步骤是: [第一种方法]
- git branch -d branchname
- git push origin :branchname
今天我尝试使用相同的步骤进行删除,但遇到了下面提到的问题:
$ git branch -d branchname
warning: deleting branch 'branchname' that has been merged to
'refs/remotes/origin/branchname', but not yet merged to HEAD.
Deleted branch branchname (was f394ddc).
prash ~/folder/project1 (branch1)
$ git push origin branchname
Enter passphrase for key '/c/Users/prash/.ssh/id_rsa':
error: src refspec branchname does not match any.
error: failed to push some refs to 'ssh://git@abc.xyz/projname.git'
最终我通过另一种方法成功删除,[第二种方法]
$ git push origin --delete branchname
问题,
你知道我为什么无法按照第一种方法删除远程分支吗?还有,为什么会出现那个警告?
编辑:
我尝试通过创建和删除远程分支来复制第一个问题,这次我唯一做出的更改是在分支名称之前添加了一个冒号,而且它被成功删除了。不确定那是否是早期出现问题的原因。
git push origin :branchname
命令中,冒号是很重要的。因为它与实际推送分支git push origin branchname
非常相似,所以才会创建--delete
命令行选项来删除分支。 - tbekolay