web-dev-qa-db-ja.com

VS2010の2つのブランチの違い/ファイルバージョンを比較する方法はありますか?

プロダクションホットフィックスブランチからのコードが、なんらかのdiffツールを介してメインストリームブランチよりも新しいかどうかを確認する方法があるかどうか誰かが知っていますか? (hotfix1 vs thrunk)

\src
    \thrunk
    \releases
        \hotfix1

TFSでvs2010を使用していますが、ブランチには多数のファイルがあり、そのうちの1つのターゲットパスを再指定して、一度に1つのファイルを比較するだけで済みました。

34
Coder

コマンドラインツールtf.exeを使用すると、任意のファイルの2つのリビジョンを比較できますが、どちらもワークスペースにある必要があります。

詳細については tf diff のオンラインヘルプを参照してください(バージョンの指定については ここ )。

NB。 VSでツールを使用する|オプション|ソース管理| Visual Studio Team Foundation Server |ユーザーツールを構成して、使用するdiff/mergeアプリケーションを定義します(Web検索で、使用する適切なコマンドラインが見つかります)。ファイルタイプに.*を入力すると、より具体的なツールセットがなくてもすべてに使用されます。

5
Richard

これは、Visual Studioから直接実行できます。チームエクスプローラーを開いてソース管理に移動すると、フォルダーを再帰的に比較できます(ワークスペースにないフォルダーでも可能です)。ブランチの1つに移動し、右クリックして、 Compareを選択し、他のブランチをターゲットとして入力します。

153
Edward Thomson

Visual Studioのメニューバーで、次を選択します。

  1. 表示>>その他のウィンドウ>>ソース管理エクスプローラ
  2. アイテム(フォルダ、ブランチ、ファイルなど)を右クリックします>>比較...
  3. 以下に示すように、ターゲットパスに比較するアイテムを入力します

注:この画面にあるすべての異なるオプションに注意してください。

enter image description here

7
CodingYoshi

前述の「比較」機能を使用すると便利ですが、適切なフィルターを使用すると、さらに便利になります。そうしないと、膨大な量の情報で過負荷になる可能性があります。

これが私が現在使用しているフィルターで、私にとって非常にうまく機能します:

!debug\;!obj\;!bin\;!temp\;!*ReSharper*\;*.sln;*.*proj;*.config;*.cs;*.vb;*.bmp;*.GIF;*.JPG;*.png;*.ico;*.ini;*.resx;

最初のいくつかのアイテムは、おそらく除外したいいくつかのフォルダーを排除します(使用している場合は、debug、obj、bin、temp、Resharperのものです。そうすることを強くお勧めします!)。残りは、検索に含めると便利なファイルです。表示したい他のファイルタイプがある場合は、リストの最後に追加してください。

4
Mick Bruno

コミットせずに1つのブランチを他のブランチにマージできます。次に、Visual Studioですべての変更を確認できます。完了したら、すべての変更をリセットする必要があります(マージしたくない場合)。

1
Fl4v

実際には、VSから、またはTFSで両方を比較するために、同じワークスペースにいる必要はありません。 1つまたは両方がファイルシステム(「比較」ダイアログの「ローカルパス...」)またはTFS(「サーバーパス...」)にある可能性があります。 「フィルター」セクションも非常に強力で、ファイルタイプごとに比較オブジェクトを拡張/制限できます。

0
user1172173

Visual Studioから簡単に実行できますが、私のようにローカルブランチを台無しにしたくない場合は、VSTS Webサイトからも実行できます

  • プルリクエストに行く
  • [ファイル]タブを選択します
  • 比較するファイルを選択します(表示されます...)メニューを開きます
  • 履歴を見る
  • 比較するファイルを見つけます
  • タブ比較を選択
  • ファイルのバージョンを比較するために変更できるコミット番号が一番上に表示されます

それは思ったほど難しくはありません、:)

0