gpt4 book ai didi

git 删除 Remote : remote refs do not exist

转载 作者:IT王子 更新时间:2023-10-29 01:24:42 26 4
gpt4 key购买 nike

简而言之;

  • 如何删除远程多个 merge 的 Remote ?

更多背景;

我有一个 git 存储库,其中包含数十个已 merge 到 master 中的 Remote 。我可以使用以下方法一次删除这些 Remote :

git push --delete origin myBranch-1234

然而,对于所有 Remote 来说,这是一个缓慢而乏味的过程。所以我正在尝试这个命令:

git branch -r --merged | grep origin | grep -v master | xargs git push origin --delete

git branch -r --merged 列出所有 merge 的 Remote 。
grep origin 告诉命令包含 origin。
grep -v master 告诉命令排除 master。
xargs git push origin --delete 告诉命令删除远程列表。

总而言之,我希望这会收集所有 merge 的 Remote 并删除它们。

当我运行上述命令时,我会收到每个 merge 后的 Remote 的以下信息;

error: unable to delete 'origin/myBranch-1234': remote ref does not exist
error: unable to delete 'origin/myBranch-1235': remote ref does not exist
error: unable to delete 'origin/myBranch-1236': remote ref does not exist
error: unable to delete 'origin/myBranch-1237': remote ref does not exist
... etc

但是这些 Remote 确实存在,我可以检查它们中的每一个。许多网站和人们建议我运行 git fetch --prune 来清理丢失的引用。这什么都不做,因为所有这些 Remote 都存在。

所以我问你,亲爱的堆栈交换;

  • 为什么我可以删除一个 Remote ,但不能删除很多?
  • 我的命令正确吗?

我想我遗漏了一些小东西。每次我对此进行研究时,似乎我都在正确地执行此操作,但我遇到了上述错误。

最佳答案

您可能需要先修剪远程分支的本地“缓存”。尝试运行:

git fetch -p origin

删除之前。

关于git 删除 Remote : remote refs do not exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32147093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com