別の開発者が作業したファイルをTFSにチェックインするときに自動マージ機能を無効にしたいので、常に手動でマージする必要があります。これを行う方法はありますか?
3 に答える
Visual Studio 2008 の時点での短い答えはノーのようです。
2 人が同じファイルを変更した場合は常に、コードを「マージ」する必要があります。これには、次の 3 つの形式があります。
- バージョンを保持する (変更を破棄する)
- バージョンを保持する (変更を破棄する)
- 両方の変更をマージして両方をブレンドします
衝突を解決する安全な方法が他にないため、「これをオフにする」ことはできません。
マージをオフにする最も近い方法は、複数のチェックアウトを禁止することです (ファイルをロックして、一度に 1 人の開発者だけが作業できるようにします)。これにより、2 つの同時編集が発生するのを防ぎ、完全にマージするという問題を回避できます。(別の開発者がロックしている間、開発者はしばしばブロックされ、ファイルで作業できないという追加のコストがかかります)。これはひどく、通常は非効率的な方法です。お勧めしません。
マージの必要性を最小限に抑えることができます。
- 頻繁にチェックインしてください。多くの小さな変更はマージの競合の危険性を減らしますが、いくつかの大きな変更は露出を増やします。
- 頻繁に変更される大きなファイルを多数の小さなファイルに分割して、2 人の開発者が同じファイルを同時に変更する必要がある可能性を最小限に抑えます
- ファイルの作業を開始する前に、他の誰かがそれを編集しているかどうかを確認し、「スケジュール」を再編成して、他のプログラマーが作業している間にそのファイルの編集を開始する必要がないようにします (自主的な「ソフトロック」、マージが必要になる可能性を減らすため)
マージ ツールをアップグレードすることもできます。Visual Studio のマージがひどい、使いにくく、コードに問題を引き起こすことがよくあります。それは私を信頼できないほど何度も噛んだので、毎回面倒な手動マージを行わなければなりません. 私は今、自動マージを常に完璧に行う Araxis Merge を使用しています。(私はそのような自信を与えてくれる別のマージ プログラムを使用したことがなく、何年にもわたってほとんどすべてのオプションを試してきました)。手動のマージが必要な場合、「読み取る」ための非常に明確なマージ ビューと、コードの各ビットをマージする方法を選択するための非常に迅速で直感的な UI が提供されるため、非常に効率的です。私は VS での複雑なマージに 3 日間苦労したことがあります (あきらめるまでコードを何度も破損させました)。その後、Araxis Merge を購入し、マージ全体を 15 分で完全にやり直しました。
(私は Araxis とはまったく関係がありません。ただ、世の中に出回っているひどいマージ ツールのほとんどに我慢できません)