【问题标题】:How do I remove all remote git branches如何删除所有远程 git 分支
【发布时间】:2016-01-09 06:13:41
【问题描述】:

我想在本地删除我可以使用git branch -r 看到的所有分支。我已经从 .git/refs/remote/*/ 中删除了所有文件,并从 .git/info/refs 中删除了相应的记录,但它们仍然存在。

【问题讨论】:

  • 检查.git/packed-refs?
  • 还没有。手动编辑此文件是否安全?
  • 是的,您可以手动编辑它(这是一个简单的文本文件,每个 ref 有一两行),或致电git branch -r -D NAME。为什么要手动删除它们? - 如果这些被远程删除,您可以使用git fetch REMOTE --prune
  • 我可以看到这是一个纯文本文件,我只是担心这会以某种方式破坏存储库:) git branch -D 怎么样,如何使用此命令删除对远程分支的引用,例如refs/remotes/origin/develop?
  • 它们不是远程删除的,我也不想远程删除它们。我只想从那些远程分支中清理我的本地树视图 :)

标签: git branch git-fetch


【解决方案1】:

这个命令完成了这项工作:

git branch -r | xargs git branch -r -D

来自manual

使用 -r 和 -d 删除远程跟踪分支。请注意,只有在远程存储库中不再存在远程跟踪分支或 git fetch 配置为不再获取它们时,删除远程跟踪分支才有意义。另请参阅 git-remote(1) 的 prune 子命令,了解如何清理所有过时的远程跟踪分支。

感谢@MrTux

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-04
    • 2018-04-05
    • 1970-01-01
    • 2020-04-12
    • 2013-07-06
    • 2021-05-22
    • 1970-01-01
    • 2012-02-24
    相关资源
    最近更新 更多