场景:当我们把本地分支提交到远程后,又在远程删除了这个分支,此时远程没有了,但是本地一直存在,解决方案如下:
下面命令选任意一个执行即可。
1 .git remote prune origin
用途:此命令用于删除本地 Git 仓库中与远程仓库(在此例中为 origin)不再存在的引用(refs)。
行为:它会检查远程分支的状态,并删除那些在远程仓库中已经被删除的分支的本地引用。这个命令不会更新任何远程分支的信息,只是清理本地的引用。
示例:
git remote prune origin
2. git fetch --prune
用途:此命令用于从远程仓库获取最新的更新,并同时删除本地对那些在远程仓库中已经被删除的分支的引用。
行为:它会更新所有的远程跟踪分支,并删除那些在远程仓库中已经被删除的分支的本地引用。这个命令不仅会清理引用,还会更新本地的远程分支信息。
示例:
git fetch --prune
3.总结
git remote prune origin
仅仅是清理本地引用,而不更新远程分支的信息。
git fetch --prune
则是获取远程更新并同时清理本地引用,是一个更全面的操作。
通常情况下,如果你想要保持本地仓库的整洁并确保远程分支的状态是最新的,使用 git fetch --prune
是更常见的做法。