ファイルを1つのブランチから別のブランチにマージした後、対象のブランチにファイルをチェックインすると、チェックアウトされたファイルがたくさんあります。たとえば、メインブランチとクリティカルブランチは同じで、クリティカルフィックスブランチの2〜3つのファイルのみを変更しました。私はCritical ==> Mainをマージし、Mainブランチへの変更をチェックインすると、Critical Fixブランチで実際に変更された2または3だけでなく、多数のファイルがチェックアウトされていることに気付きました。さらに、メインブランチのファイルとサーバーのファイルを比較すると、ファイルが同一であると言われます。ファイルが同一であれば、チェックアウトはなぜですか? TFS 2010がどのようにマージするかを説明するリンクや、何か助けていただければ幸いです。TFS 2010でのマージはどのように機能しますか?
答えて
Visual Source SafeとTFSの既定のソース管理マージツールは常に貧弱です。これらは単純な変更で混同されることが多く、同じファイルを変更されたものとして検出することが多く、自動マージ機能が頻繁に失敗します(間違った変更を含む)。私はすぐにこれらのマージツール(1995年頃)の不信を学び、以来、コアマージアルゴリズムがまったく改良されて以来、新しいリリースのいずれの証拠も見ていませんでした。
クライアント側のマージツールをサードパーティのマージツールに置き換えることができます(実際にはうまく動作するので、実際には自動マージオプションを信頼しています) TFSツールとの複雑なマージを行い、最後にこのサードパーティのツールを購入し、15分でマージ全体を正常に再現しました!)
悪い知らせは、ブランチマージの最初のステップはTFSコードをマージすると、混乱してしまい、記述した症状が現れます。これは、そのような高価なアプリケーションのような重要な機能では、想像上の "矛盾"を修正するために、すべてのマージでプログラマ時間を浪費するためです。プラス側では、通常は信頼性の高いサードパーティ製ツールの助けを借りてこれらのマージ問題を解決します。
ありがとうございます。サードパーティツールの名前は何ですか? – cju
私はAraxis Mergeが好きですが、Beyond Compareのような仕事をしている人の一部です。 Araxisは他の差分/マージツールと比較してかなり高価ですが、非常に信頼性の高い方法で動作します。他のツールよりも節約することが長期的には効果的です。 –
このブログ記事では、WinDiff、DiffDoc、WinMerge、Beyond Compare、KDiff3、Araxis、Compare it !, DiffMerge、TortoiseMerge、Visual SlickEdit、Guiffy:http://blogs.msdnといった多くの一般的な差分&マージツールの設定方法を紹介しています。com/b/jmanning/archive/2006/02/20/diff-merge-configuration-in-team-foundation-common-command-and-argument-values.aspx –
私が気づいたことは、異なるブランチで同じ内容のファイルが変更された場合、ファイルが両方の場所で変更されるため、マージすると競合としてマークされるということです。もちろん、ファイルの相違点は変更がないことに気付き、自動マージによって自動的にこれが解決されます。
私は同じ問題がありました。 DEVブランチのブランチを作成し、いくつかのファイルを変更しました。私は変更をチェックインし、DEVへの最新の変更を私のブランチにマージしました。マージした後、ブランチの30,000以上のファイルすべてが変更済みとマークされました。ちょうどcjuのように、ほとんどのファイルを比較すると、変更が加えられていないことがわかりました。
すべての変更を取り消してもう一度やり直すことにしました。ソリューションを右クリックしてアンドゥを選択すると、あるファイルに変更があったというメッセージが表示されましたが、そのファイルを元に戻したいと思いますか? "No to All"をクリックし、取り消し操作が完了すると、DEVからのマージ中に変更されたファイルだけが引き続きチェックアウトされました。これはまさに私が望んでいたものなので、私はそれらの変更を私の支店にチェックし、作業を続けました。
他の人が自分の状況を簡単に修正できることを願っています。
あなたの質問に従うのは難しいです。多分あなたはいくつかの例を挙げることができますか?多分スクリーンショットでさえ? –