gpt4 book ai didi

git - 如何使用git push prune删除远程分支

转载 作者:行者123 更新时间:2023-12-04 02:42:04 27 4
gpt4 key购买 nike

我想知道 git push --prune 是否可以像 git remote prune origin 在相反的方向上那样清理远程分支。以下是文档所说的内容:

--prune
Remove remote branches that don’t have a local counterpart. For example a remote branch tmp will be removed if a local branch with the same name doesn’t exist any more.

但我对上面的counterpart 是什么意思感到困惑。让我通过一个例子来解释我想做什么。

让我们创建一个远程跟踪分支,如下所示:

$ git checkout -b my-feature-branch && git push -u origin my-feature-branch
...
Branch 'my-feature-branch' set up to track remote branch 'my-feature-branch' from 'origin'.

所以我的解释是 my-feature-branch 是文档引用的 local counterpart

现在删除这个本地副本如下:

$ git branch -D my-feature-branch
Deleted branch my-feature-branch (was f7404b0).

我现在期望 git push --prune 如果我按如下方式运行它会删除远程分支:

$ git push --prune origin
Everything up-to-date

但是,如您所见,即使本地分支已经消失,git push --prune 也拒绝删除远程分支。虽然我知道我可以使用 git push -d origin my-feature-branch 删除远程分支,但我想了解 git push --prune 是否可以执行一样。

最佳答案

Git 需要知道比较什么。指定在何处查找引用。

git push --prune origin refs/heads/*:refs/heads/*

或者

git push --prune origin refs/heads/*

另一种方法是推送一个空的ref

git push origin :my-feature-branch

关于git - 如何使用git push prune删除远程分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58918459/

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