如何仅清除特定的远程分支 git remote prune?

5

我的一个同事“重复使用”了一个分支名称,所以每次我拉取时都会收到错误消息:

error: 'refs/remotes/origin/branch' exists; cannot create 'refs/remotes/origin/branch/subbranch'
...
error: some local refs could not be updated; try running 
 'git remote prune origin' to remove any old, conflicting branches

事实上,我不想进行全面的远程修剪 - 我很偏执,希望保留那些本地引用,以防其他同事出现新颖的错误。有没有办法只修剪有问题的分支,而不会修剪存放在我的本地仓库中作为远程引用的所有其他分支?

你想保留的分支是否已合并到其他地方?如果是,那么无需特别保留它们的引用,您仍然可以找回这些提交记录。(即使没有合并,提交记录也会一直存在,直到垃圾收集进行。) - Scott Weldon
1个回答

11

如果使用git branch命令的-r选项,您可以专门删除本地引用分支:

git branch -r --delete origin/branch

在此之后,可以适当地创建新分支,并且可以进行无误的获取和拉取操作。(而且git remote prune --dry-run origin仍然报告需要修剪的分支。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接