Him*_*mel 29 git version-control
$ git branch -a
* SocialAct
master
remotes/origin/HEAD -> origin/master
remotes/origin/SocialAct
remotes/origin/social
Run Code Online (Sandbox Code Playgroud)
我想删除远程分支"remotes/origin/social",并应用了folloing命令:
$ git branch -d -r origin/social
Deleted remote branch origin/social (was 26f6f61).
Run Code Online (Sandbox Code Playgroud)
但我不知道如何远程进行这些更改,以便从原点删除分支,每个人都可以看到更改.我尝试了git push,但这不起作用
任何帮助.
Nat*_*iel 45
我有这个错误(从上面):
谢谢.实际上我注意到这个解决方案,并在之前尝试 但这会产生以下错误... $ git push origin:heads/socail输入密钥'/h/.ssh/id_rsa'的密码:错误:无法推送到不合格的目的地:heads/socail目标refspec既不匹配现有的ref在远程也不以refs /开头,我们无法根据源ref猜测前缀.错误:未能将一些参考文献推送到'git@xxxxxx.git' - Himel 2010年5月24日9:37
似乎对我是否实际上已经远程删除它感到困惑.我像这样工作:
git push origin HEAD:branch_to_delete
git push origin :branch_to_delete
Run Code Online (Sandbox Code Playgroud)
这对我有用.使用:git版本1.7.3.1.msysgit.0.
正如@Josh在对Nathan McDaniel的答案的评论中所提到的,这可能是由于远程存储库中不再存在分支.这导致git branch -a仍然显示分支origin(或者您为此特定远程命名的任何内容),但删除远程存储库上的分支是不可能的,因为它不再存在于远程上.这可能是从其他计算机删除遥控器上的分支(上的事实,导致顶部git pull和git fetch不删除对已经从远程仓库删除远程分支机构).
只需删除已从远程存储库中删除的所有远程跟踪分支git remote prune:
git remote prune REMOTENAME
Run Code Online (Sandbox Code Playgroud)
例如,如果您的遥控器名称是origin(可能),则上述命令如下所示:
git remote prune origin
Run Code Online (Sandbox Code Playgroud)
从提供的文件git:
git remote prune [-n | --dry-run] <name>删除所有过时的远程跟踪分支
<name>.这些陈旧的分支已经从引用的远程存储库中删除<name>,但仍然在"远程/"中本地可用.使用
--dry-run选项,报告将修剪哪些分支,但实际上不修剪它们.
| 归档时间: |
|
| 查看次数: |
10603 次 |
| 最近记录: |