web-dev-qa-db-ja.com

Visual Studio Code-VS Codeにまだ表示されているGitHubで削除されたブランチを削除しますか?

VSCodeで、プルリクエストを実行してGitHubのブランチを削除した後、そのブランチは引き続きVisual Studio Codeに表示されます。ブランチを選択すると、期待どおりエラーが発生します。

削除されたこれらのブランチをVSCodeから削除するにはどうすればよいですか?自動的に実行できますか?

53
Drenai

どうやら、この機能は意図的です。 Githubから削除されたすべてのリモートブランチを削除する正しい方法は、次のコマンドを実行することであることがわかりました。

git fetch --Prune

次に、Visual Studioを再起動して、コマンドパレットからブランチを削除します

90
davidhu2000

ローカルブランチをVisual Studioコードから削除するには、コマンドパレット(Ctrl-Shift-P)を開いてからGit:ブランチの削除...を選択し、適切なブランチを選択してローカルブランチを削除します。リストから。

34

GitHubから削除されたブランチは、GitHubから削除されたばかりです。マシン上にブランチのローカルコピーがまだあります。ローカルブランチを削除するには、git branch -d the_local_branchを実行します。 VS Codeにはこれを行うコマンドはありませんが、View: Toggle Integrated Terminalコマンドを使用してVSCodeでターミナルを起動し、そこからコマンドを実行できます。

ブランチ管理の詳細については、gitのドキュメントを参照してください- https://git-scm.com/book/be/v2/Git-Branching-Branch-Management

12

私は質問を次のように解釈しました:コマンドパレットからGit Fetch(プルーン)を使用しているので、マージされたlocalブランチを削除するにはどうすればよいですか。これは「ハック」と見なされる場合がありますが、私が使用するものです。 PowerShellターミナルで:

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

PoSHに慣れていない場合は、次のようにします。最初の行はマージされたすべてのブランチの名前を取得し(DevelopとMasterを除く)、2行目はそのリストをループして "git branch -d 「。ブランチが完全にマージされている限り、以下が表示されます。

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

ブランチごとに。時々、削除に失敗するブランチに遭遇します-これが発生し、削除しても安全だと確信している場合(つまり、保存されていないローカルの作業を失うことはありません)、実行できます:

git branch <branch name> -D

大文字のD-強制的にがローカルブランチを削除することに注意してください。

5
Darren G

これを修正する方法を見つけました。そのため、Githubリポジトリにリンクするリモートを削除してから、リモートを再度追加する必要があります。

Githubから削除されたすべてのブランチは、vscodeに表示されなくなります。 Originがリモートリポジトリの名前であると仮定します。

git remote remove Origin

それから

git remote add Origin [email protected]:your-username/repo-name.git
4
davidhu2000

コマンドパレットを開き(Ctrl + Shift + P)、Git:Fetch(Prune)を選択します。

この 機能 は2018年11月20日にVSコードに マージ でした。

3
tgr42

必要なことは、次のコマンドを実行することだけです。

git remote Prune Origin

それだけのためにターミナルを開くのは面倒だからです。vscodeでタスクを追加できます。

それを行うには、次の手順に従ってください。

  1. VSCodeView> Command Palette(cmd/ctrl + Shift + P)で
  2. タイプタスクの構成
  3. テンプレートからtasks.jsonファイルを作成を選択すると、。vscodeフォルダーの下に新しいファイルが作成されます。
  4. 内部タスク配列はこれを追加します:

{"label": "Git Prune"、 "type": "Shell"、 "command": "git remote Prune Origin"、 "problemMatcher":[]}

それを使用する方法:

  1. コマンドパレットを開く
  2. タイプタスクの実行および選択
  3. Git Pruneを選択

参照:

  1. Git Prune

短いコマンドは次のとおりです。

git fetch -p
0
Al Gol