Visual Studio Code - 删除仍在VS Code中显示的GitHub上删除的分支?

问题描述 投票:45回答:8

在VSCode中,在我执行拉取请求并删除GitHub上的分支后,该分支仍然显示在Visual Studio代码中。如果我选择分支,它会按预期给出错误。

如何从VSCode中删除这些现已删除的分支 - 我可以自动执行吗?

visual-studio github visual-studio-code
8个回答
84
投票

显然,这个功能是有意的。我发现删除从Github删除的所有远程分支的正确方法是运行以下命令。

git fetch --prune

然后重新启动visual studio以从命令选项板中删除分支


33
投票

通过打开Command Pallete(Ctrl-Shift-P)然后选择Git:Delete Branch ...,可以从Visual Studio Code中删除本地分支,然后可以通过从列表中选择适当的分支来删除本地分支。


12
投票

从GitHub中删除的分支很好......刚从GitHub中删除。您的计算机上仍有本地分支副本。删除本地分支运行git branch -d the_local_branch。 VS代码中没有命令可以执行此操作,但您可以使用View: Toggle Integrated Terminal命令从VSCode启动终端并从中运行命令。

有关分支管理的更多信息,请访问git文档 - https://git-scm.com/book/be/v2/Git-Branching-Branch-Management


5
投票

我将问题解释为:如何删除已合并的本地分支,因为我一直在使用命令选项板中的Git Fetch(Prune)。这可能被视为“黑客”,但它是我使用的。在PowerShell终端中:

$branches = (git branch --merged).replace(" ", "").replace("*", "") | ? { $_ -ne "develop" -and $_ -ne "master" }
foreach ($branch in $branches) { git branch $branch -d }

如果您不熟悉PoSH,这就是它的作用:第一行获取所有合并分支的名称(开发和主控除外),第二行循环遍历该列表并运行“git branch -d ”。只要分支完全合并,您应该看到:

Deleted branch <branch name> (was <commit ID>).

为每个分支。偶尔我会遇到一个无法删除的分支 - 如果发生这种情况,并且你确定删除它是安全的(即你不会丢失尚未存储的本地工作),你可以运行:

git branch <branch name> -D

注意大写字母D - 强制删除本地分支。


4
投票

我找到了解决这个问题的方法。因此,您需要删除链接到Github存储库的远程控制器,然后再次添加远程控制器。

从Github删除的所有分支将不再显示在vscode中。假设origin是远程仓库的名称。

git remote remove origin

然后

git remote add origin [email protected]:your-username/repo-name.git

3
投票

打开命令面板(Ctrl + Shift + P)并选择Git:Fetch(Prune)。

这个feature是2018年11月20日在VS Code中的merged


2
投票

您需要做的就是运行此命令:

git remote prune origin

你可以做的额外的东西,因为有时为了打开终端而烦人...你可以在vscode中添加一个任务。

为此,请按照以下步骤操作:

  1. 在VSCode视图>命令调色板(cmd / ctrl + Shift + P)
  2. 键入配置任务
  3. 从模板中选择Create tasks.json file,将在.vscode文件夹下创建一个新文件。
  4. 内部任务数组添加:

{“label”:“Git Prune”,“type”:“shell”,“command”:“git remote prune origin”,“problemMatcher”:[]}

如何使用它:

  1. 打开命令调色板
  2. 键入Run Task并选择它
  3. 选择Git Prune

参考:

  1. Git prune

0
投票

较短的命令是:

git fetch -p
© www.soinside.com 2019 - 2024. All rights reserved.