Visual Studio Codeで2つのローカルブランチをマージするにはどうすればよいですか?


97

Visual Studio Codeでは、プッシュ、プル、同期のみが許可されているようです。マージの競合に対するサポートが文書化されていますが、2つのブランチ間で実際にマージする方法がわかりません。VSC内のGitコマンドライン(F1を押す)は、コマンドのサブセットのみを容易にします。

VSCodeで利用可能なeGitオプション

代替ブランチからプルしたり、代替ブランチにプッシュしたりすると、次の結果になります。

gitコマンドのスロットリング

これは、VSCodeのGit Visual Studio Code Gitドキュメントに関するドキュメントです。

私は何を見落としているのですか?


2つのブランチをマージする方法について説明しているこのブログの qvでどこでも確認しましたか?
Tim Biegeleisen 16

5
それはVisual Studioであり、完全に別のアプリケーションであるVisual Studio Codeではありません。詳細:VisualStudio.comおよびcode.visualstudio.com
TheFastCat

回答:


48

2017年6月の更新(VSCode 1.14より

地元の枝をマージする機能が追加されているPR 25731とコミット89cd05fを:「を通じてアクセス可能Git: merge branch」コマンド。
また、PR 27405では、diff3スタイルのマージの処理が正しく追加されました。

Vahid回答は1.17について言及していますが、その9月のリリースでは実際にはマージに関して何も追加されていません。
1.18の10月1日だけにGit競合マーカーが追加されました

https://code.visualstudio.com/assets/updates/1_18/merge.png

1.18以降、マージコマンド(1.14)マージマーカー(1.18)の組み合わせにより、ブランチ間でローカルマージを実際に行うことができます。


元の回答2016:

バージョン管理ドキュメントは、ステータスのみと紛争のサポートをマージし、マージコマンドは言及していません。

最新の1.3 6月リリースでさえ、VCSのフロントに新しいものはありません。

これは、次の理由により、VSコードをgitとして使用できないことを確認する問題5770でサポートされていますmergetool

この機能は次のイテレーションに含まれていますか?

おそらくそうではありません。マージUIを実装する必要があるため、これは大きな努力です。

これにより、実際のマージはコマンドラインからのみ開始されます。


22
まあそれは吸う!
Caltor 2017年

良い提案ですが、コマンドラインまたはGit Gui / Extensionsですが、これを通常のVisual StudioのようにVisual Studio Codeに組み込んでおくと便利です。
Caltor 2017年

2
ブランチをマージすることは私にとって日々の仕事です。VSCodeでのマージのサポートが必要です。
ジョナサンラモス

@JonathanRamos、すべてのためのツールがあります。VSCodeはコーディングのニーズに焦点を当てています。パワーユーザーはGit固有のツールを探す必要があります。MSが将来この機能を導入する可能性がありますが、現時点では他の代替手段があります。
Helmut Granda 2017

Visual Studioのコミュニティ内の1つのような素敵なA機能だろう
セバスティアン・ロハス

146

プラグインを使用せずにそれを行うことができます。

私が使用しているvscodeの最新バージョン(1.17.0)では、目的のブランチを開き(左下のメニューから)、押しctrl+shift+pて入力しGit: Merge branch、マージする他のブランチ(から現在のもの)


1
Git:Mergeブランチブランチを選択すると、自動的にコミットされますか?
Jyoti Prasad Pal

@JyotiPrasadPalはい、必要なのはgit: push/sync
Vahid


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.