VSCodeで、プルリクエストを実行してGitHubのブランチを削除した後、そのブランチは引き続きVisual Studio Codeに表示されます。ブランチを選択すると、期待どおりエラーが発生します。
削除されたこれらのブランチをVSCodeから削除するにはどうすればよいですか?自動的に実行できますか?
どうやら、この機能は意図的です。 Githubから削除されたすべてのリモートブランチを削除する正しい方法は、次のコマンドを実行することであることがわかりました。
git fetch --Prune
次に、Visual Studioを再起動して、コマンドパレットからブランチを削除します
ローカルブランチをVisual Studioコードから削除するには、コマンドパレット(Ctrl-Shift-P)を開いてからGit:ブランチの削除...を選択し、適切なブランチを選択してローカルブランチを削除します。リストから。
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
私は質問を次のように解釈しました:コマンドパレットから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-強制的にがローカルブランチを削除することに注意してください。
これを修正する方法を見つけました。そのため、Githubリポジトリにリンクするリモートを削除してから、リモートを再度追加する必要があります。
Githubから削除されたすべてのブランチは、vscodeに表示されなくなります。 Origin
がリモートリポジトリの名前であると仮定します。
git remote remove Origin
それから
git remote add Origin [email protected]:your-username/repo-name.git
必要なことは、次のコマンドを実行することだけです。
git remote Prune Origin
それだけのためにターミナルを開くのは面倒だからです。vscodeでタスクを追加できます。
それを行うには、次の手順に従ってください。
{"label": "Git Prune"、 "type": "Shell"、 "command": "git remote Prune Origin"、 "problemMatcher":[]}
それを使用する方法:
参照:
短いコマンドは次のとおりです。
git fetch -p