我想删除本地和我在GitHub上的远程项目分支上的分支.
$ git branch -d remotes/origin/bugfix
error: branch 'remotes/origin/bugfix' not found.
$ git branch -d origin/bugfix
error: branch 'origin/bugfix' not found.
$ git branch -rd origin/bugfix
Deleted remote branch origin/bugfix (was 2a14ef7).
$ git push
Everything up-to-date
$ git pull
From github.com:gituser/gitproject
* [new branch] bugfix -> origin/bugfix
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
remotes/origin/bugfix在本地和GitHub上成功删除分支我需要做些什么
?
是否有一种简单的方法可以删除远程等效不再存在的所有跟踪分支?
例:
分支机构(本地和远程)
在本地,我只有一个主分支.现在我需要处理bug-fix-a,所以我检查它,处理它,并将更改推送到远程.接下来我用bug-fix-b做同样的事情.
分支机构(本地和远程)
现在我有本地分支机构master,bug-fix-a,bug-fix-b.Master分支维护者将我的更改合并到master中并删除他已经合并的所有分支.
那么现在的状态是:
分支机构(本地和远程)
现在我想调用一些命令删除分支(在本例中为bug-fix-a,bug-fix-b),这些分支不再在远程存储库中表示.
它会像现有的命令git remote prune origin,但更像是git local prune origin.
当我在Git中使用bash自动完成时,它会不断向我展示我不再拥有的旧遥控器的分支.当我这样做时,git branch -la它会显示那些旧的遥控器和分支,而git branch -l不会.A ls .git/refs/remotes/也显示了它们.但是,它们不存在于我的.git/config中,并且在我运行时它们都没有显示git remote show.
那么我如何摆脱它们,因为我的自动完成列表现在太长了.
我已经尝试过了:
git reflog expire --expire=now --all
git gc --prune=now
rm .git/refs/remotes/theoldremote
git remote prune theoldremote
Run Code Online (Sandbox Code Playgroud)
我也知道我可以重新克隆回购但这只是作弊;-)
我用"git checkout -b mybranch"创建了分支.似乎出了点问题,现在我无法使用"git branch -D mybranch"删除它.它说:错误:没有找到分支'mybranch'.
我有以下分支:
* master
newbranch
remotes/origin/HEAD -> origin/master
remotes/origin/api-notes
remotes/origin/event-creation-validation
remotes/origin/master
remotes/origin/organizerlocation-bug-demo
remotes/origin/ticket-180
Run Code Online (Sandbox Code Playgroud)
当前分支主服务器与origin/master不同,还是这些分支机构一起工作?
如何检测不同分支中的最后更改以及如何将其删除以进行清理?
非常感谢你.
git branch -r --merged | grep 123
输出
起源/特征/123-一些特征
git branch -r --merged | grep 123 | xargs git branch -d
输出错误:找不到分支“origin/feature/123-some-feature”。
为什么我无法删除这个远程分支?
编辑: 抱歉,我最初的帖子应该更清楚(我写这篇文章时我正在开会)。我本地没有任何这些分支,我正在尝试清理远程存储库以删除所有合并的分支(我现在通过过滤为“123”来测试它)。
我想获得已合并的远程分支的过滤(通过 grep)列表,以便我可以在本地查看它们,以确保我不会删除任何我想保留的分支。
然后我想再次执行它,| xargs git branch -d以实际从远程存储库中删除这些分支。
根据发布的答案和评论之一,我认为这就是我想要的?
git branch -r --merged | grep 123 | xargs git push origin --delete