web-dev-qa-db-ja.com

Visual Studio / VSTS / Gitのsqlprojファイルのマージ競合を手動で解決するにはどうすればよいですか?

Visual Studio 2017のGitにあまり慣れていません。ブランチから新しいブランチを作成しました。いくつかの変更を加えました。 visualstudio.comのリポジトリに新しい変更をプッシュしました。新しいプルリクエストを作成しましたが、次のエラーが表示されます。次のステップが何かわかりません。 [放棄]をクリックすると、2つのオプションが表示されます。ソースブランチをリアクティブまたは削除します。この問題を手動で解決するにはどうすればよいですか?マージツールを使用して競合を編集できるように、Visual Studio内で競合を表示する方法を見つけようとしています。リモートリポジトリにプッシュした後、VSに表示される変更はありません。競合の原因とそれを手動で解決する方法を見つける方法が見つかりません。

これは link はGitの競合を解決する方法を示していますが、VSには競合を示すものは何もありません。競合の警告はVSTS Webサイトに表示されています。次のステップは何ですか?

enter image description here

9
Tony_Henrich

競合を解決するには、次の手順を参照してください。

  1. チームエクスプローラーでブランチを開く
  2. ターゲットブランチをダブルクリックしてブランチを切り替えます(例:マスター)
  3. ターゲットブランチを右クリック=>プル
  4. ソースブランチをダブルクリックして、ブランチを切り替えます(例:dev)
  5. マージをクリック
  6. Mergeでブランチからマスターを選択し、Into to current branchでdevを選択します
  7. マージをクリック
  8. 競合リンク=>ファイルを選択=>マージをクリック
  9. 競合を解決する
  10. チームエクスプローラーで[マージのコミット]をクリックします。
  11. Devの変更をリモートブランチにコミットしてプッシュする
  12. プルリクエストを完了する
10

2つのブランチの違いをローカルで確認するには(および競合をローカルで解決できるように)、最初にフェッチしてみてください。すべてのブランチをフェッチし、その履歴を更新します。

フェッチとプルでコードを更新 」を参照してください。

次に、ローカルマージを試して、競合を確認して解決します。「 Resolve merge conflicts 」を参照してください。可能な場合は、更新されたターゲットブランチ上でブランチをローカルでリベースし、プッシュを強制します(あなたが唯一のブランチで作業している場合):プルリクエストを更新します。
そうでない場合は、ターゲットブランチをブランチにマージし、競合をローカルで解決します。その後、マージコミットの単純なプッシュで十分です。

1
VonC