git - 本地分支未在 git 中删除
问题描述
我想从 git 中删除本地分支。它显示删除消息,但实际上它没有被删除。代码编写如下: 我不知道这张图片发生了什么。请帮我从本地 git 中删除 remove-ipsum
git branch -a
git checkout master
git branch -d remove-ipsum
它将删除消息显示为:Deleted branch remove-ipsum (was 870afb1)。
git branch -a
但仍显示此分支。
为什么会这样?任何解决方案?
解决方案
总之:没问题解决,你的本地分支已经删除成功。
为什么?
由于您收到了删除确认消息,我们现在知道该分支的本地版本已成功删除。
但git branch -a
不仅显示本地分支,它还列出远程跟踪分支。因此,除非分支从未被推/拉,否则它有一个尚未被修剪的远程跟踪对应项。
那么还剩下什么要做呢?
出于充分的理由,该分支仍然远程存在,或者您也可以使用以下命令将其删除
git push <remoteName> :<branchName>
(一定要注意“ :
”之前的空格,这与 有很大不同<remoteName>:<branchName>
)
或(完成的替代语法,但它们的效果是相同的)
git push --delete <remoteName> <branchName>
但是警告,因为这一步没有确认:无论合并与否,它都会删除分支。
最后
此时,分支的本地和远程版本都消失了,您仍然会在git branch -a
输出中显示该分支。什么?!为什么?
因为正如我们上面提到的,作为远程分支的本地副本(为了离线比较),远程跟踪分支既没有被您的第一个命令删除,也没有被我建议给您的远程命令删除分支。
因此,要从远程跟踪分支列表中删除它,现在您已经删除了远程对应项,您可以
git fetch --prune
它不会再出现在git branch -a
输出中。
推荐阅读
- pandas - 使用所有先前行和所有后续行的所有累积和的 Pandas 矢量化
- algorithm - 给定一组正整数和值 X,找到一个子集 S,其总和 >= X,使得 sum(S) 是这些现有子集的所有总和中最低的
- amazon-web-services - 为多个路径设置 Cloudfront 签名 cookie
- algorithm - 总和为值 b 的浮点数数组。给定一个整数 c,我如何确保 sum(每个数组元素 / c) == b / c
- java - 如何更改 JEditorPane 中选定文本的颜色?
- scala - 奇怪的 scala 元组行为
- python - 我该如何解决?该应用程序在 API 密钥中显示错误,就像 (KeyError: 'Api Key not found.')
- swift - SwiftUI 中@State 变量的生命周期是什么?
- git - 每次更改相同的文件时是否会发生合并冲突?
- javascript - 从数组中计算单词分数