web-dev-qa-db-ja.com

Gitを使用しているときにVisual Studioでブランチ(ローカル/リモート)を更新するにはどうすればよいですか?

概要

Visual StudioでGitを使用する方法を学んでいます。最近、マージ後に機能ブランチが削除されるプルリクエストを行いました。機能ブランチは、Visual Studioのローカルブランチとリモートブランチに引き続き表示されます。ブランチを右クリックして削除する方法は知っていますが、これは回避策です。チームの他のメンバーが、知らないうちにブランチのプルリクエストを完了する場合があります。彼らが後でブランチを削除した場合、私は彼らがそうしたことを知りません。

質問

GitのVisual Studioブランチをどのように更新しますか?

私が期待すること

クリック時に違いをチェックするボタン、リンク、または右クリック機能が期待されますが、見つかった場合は「このブランチはもう存在しません。VisualStudioから削除しますか?」と尋ねます。

技術仕様

Visual Studio 2015 Enterpriseを使用しています(VS 2019の症状のようです)

追加の例

これは別の質問かもしれませんが、ここでは非常によく当てはまります。ブランチを作成すると(あるVMで別のリポジトリと同じリポジトリを見ると)、Visual Studioにはブランチリストを更新するgit fetchオプションがありません。上部の更新ボタンは何もしないようです。 git fetchをbashで実行するとすぐに、Visual Studioに新しいブランチが追加されます。リフレッシュがこれを処理すると期待しています。

63

サーバー側でブランチが削除されている場合は、コマンドラインで試してください(このような「ボタン」はVisual Studioに直接存在しないようです)。

git remote Prune Origin --dry-run

--dry-runオプションを削除して、実際にローカルブランチを削除します)

対応するローカルブランチも削除しますgit branch -d aBranch

それから visual Studioを再起動します、更新されたブランチリストを選択することを確認します。 (VSを再起動/更新する必要はないというコメント)

注:I 2013年に前述 構成

git config remote.Origin.Prune true

それはそのプロセスを自動化し、 Visual Studioでサポート のように見えます- 後述 by yaniv のように。

84
VonC

このブログの投稿によると で、gitプロパティを設定できます

git config remote.Origin.Prune true

フェッチを実行すると、リストから削除されたブランチが削除されます。

29
Thaoden

から: https://intovsts.net/2017/01/17/refresh-git-remote-branches-in-visual-studio/

次のコマンドを使用して、実行中のフェッチ/プルでこれを自動的に行うようにgitを構成できます。

git config remote.Origin.Prune true –global

更新:

Visual Studio 2017バージョン15.7.3以降では、UIを使用して実行できます。

  1. チームエクスプローラーで、[ホーム]、[設定]の順にクリックします。 enter image description here

  2. グローバル設定を選択

  3. 「フェッチ中にリモートブランチを削除」を「True」に変更します
28
yaniv

VS 2017には、チームエクスプローラーで構成可能なサポートがあるようです。

チームエクスプローラーホーム設定Git>グローバル設定フェッチ中にリモートブランチを整理:設定解除、True、またはFalse

11
Mark Arnold

ブランチの公開解除 最初に、他の人はブランチが公開されていないことに気付くはずです(ブランチをプルしようとするとエラーが発生します)。ローカルブランチの削除は実際には別のプロセスであり、とにかくブランチを取り除くために行われます。

0
lkn2993