在 VSCode 中,在执行一个 pull 请求并删除 GitHub 上的分支之后,该分支仍然会出现在 VisualStudio 代码中。如果我选择这个分支,它会像预期的那样给出一个错误。
如何从 VSCode 中删除这些现已删除的分支? 我能自动删除吗?
从 GitHub 删除的分支很好... ... 刚刚从 GitHub 删除。您的机器上仍然有分支的本地副本。要删除本地分支,请运行 git branch -d the_local_branch。VS Code 中没有这样做的命令,但是您可以使用 View: Toggle Integrated Terminal命令在 VSCode 中启动终端并从中运行命令。
git branch -d the_local_branch
View: Toggle Integrated Terminal
有关分公司管理的更多信息,请访问 git 文档 -https://git-scm.com/book/be/v2/Git-Branching-Branch-Management
我找到了解决的办法。因此,您需要删除连接到 Github 回购的遥控器,然后再次添加遥控器。
从 Github 删除的所有分支将不再显示在 vscode 中。假设 origin是远程回购的名称。
origin
git remote remove origin
然后
git remote add origin git@github.com:your-username/repo-name.git
通过打开 Command Palette (Ctrl-Shift-P)然后选择 Git: 删除 Branch..。,可以从 Visual Studio Code 中删除本地分支,然后可以通过从列表中选择适当的分支来删除本地分支。
显然,这个特性是有意为之的。我发现从 Github 删除所有已删除的远程分支的正确方法是运行以下命令。
git fetch --prune
然后重新启动可视化工作室,从命令面板中删除分支
您所需要做的就是运行这个命令:
git remote prune origin
你可以做一些额外的事情,因为有时候打开一个终端就为了这个很烦人。.您可以在 vscode 中添加任务。
要做到这一点,请遵循以下步骤:
{ “标签”“ Git Prune” “ type”: “ shell” “命令”: “ git 远程修剪起源”, “ problem Matcher”: [] }
使用方法:
参考文献:
简短的命令是:
git fetch -p
打开命令面板(Ctrl + Shift + P)并选择 Git: Fetch (Prune)。
该 特写于2018年11月20日被 合并了转换为 VS 代码。
我将这个问题解释为: 我如何删除已经合并的 本地分支,因为我一直从命令面板中使用 Git Fetch (Prune)。这可能被认为是一种“黑客行为”,但这就是我所使用的。在 PowerShell 终端中:
$branches = (git branch --merged).replace(" ", "").replace("*", "") | ? { $_ -ne "develop" -and $_ -ne "master" } foreach ($branch in $branches) { git branch $branch -d }
如果您不熟悉 PoSH,可以这样做: 第一行获取所有合并分支的名称(development 和 master 除外) ,第二行循环遍历该列表并运行“ git Branch-d”。只要完全合并了分支,您就会看到:
Deleted branch <branch name> (was <commit ID>).
每根树枝。偶尔我会遇到一个未能被删除的分支——如果发生这种情况,并且你确信它可以安全地被删除(也就是说,你不会丢失尚未存储的本地工作) ,你可以运行:
git branch <branch name> -D
注意大写的 D-用力删除了本地分支。
您可以使用以下命令删除所有本地分支(主服务器除外) :
git branch -r | grep -v "master" | xargs git branch -D
您可以删除所有仍然在 VSCode 中显示为 origin/XXXX但在 origin中已经删除的分支,具体方法如下:
origin/XXXX
注:
上面的第一个命令(取自 https://stackoverflow.com/a/52006270/3120163) :
您不必再重新启动 git fetch --prune和 VSCode 了。 使用 VSCode 1.52(2020年11月) ,您现在可以:
Git: 取东西要修剪 启用 git.pruneOnFetch设置将使 VS 代码在获取远程引用时运行 git fetch --prune。
启用 git.pruneOnFetch设置将使 VS 代码在获取远程引用时运行 git fetch --prune。
git.pruneOnFetch
从 GitHub 删除后,本地不再有额外的分支。
参见 PR 89249,修复 第86813期:
用法: { "git.pruneOnFetch": true } 默认情况下,设置为 false。 这将向所有 git 提取添加 --prune标志。
用法:
{ "git.pruneOnFetch": true }
默认情况下,设置为 false。
false
这将向所有 git 提取添加 --prune标志。
--prune
在新版本的 Visual Studio 2019中,例如16.8.6,你需要进入设置并找到 git 设置,如下所示:
Davidhu 的这个方法在下面稍微触摸一下。
这个命令删除 Github 上删除的分支,这些分支仍然显示在 Vs code 中 大括号[原点]中的是远程回购的名称。
Git 远程删除 起源
Git 远程添加原点 Git@github.com: your-username/repo-name. git
或者你可以从 V 代码中手动删除它
单击 V 代码左侧的 源代码控制图标
点击“ 更多的图标或更多的行动”,“然后点击“ 罗莫特”,它会向你显示“ 加上遥控器”或“ 移除遥控器”
点击“ 移除遥控器”,它会显示你所有远程代码的列表,然后你可以选择一个你想删除,然后按“回车”