7

複数の開発者が同じソリューションに新しいプロジェクトとファイルを追加するVSC#プロジェクトで作業している場合、最後に変更を確認しようとすると、プロジェクトソリューションファイルで競合が発生し、マージが容易になりません。

私が見つけたこの問題の最も簡単な解決策は、自分の変更を却下し、サーバーの最新バージョンを受け入れることです。次に、自分の変更を再統合します。プロジェクトに追加された新しいファイルの量に応じて、これは簡単な場合もあれば、非常に面倒な作業の場合もあります。

これを行うもっと簡単な方法があるかどうか疑問に思います。読む:VS / TFS /マージにこれを実行させることはできますか?

4

5 に答える 5

19

私の提案は、より頻繁に更新してコミットすることです。特に、ソリューションファイルの変更を保留する前に、必ずGetLatestを実行してください。

XMLやテキストファイル(すべてのプロジェクトファイルとソリューションファイル)のようなものとの「マージ地獄」は、通常、人々が非常に大きな単一の変更をコミットしようとしているためにのみ発生します。

定期的なコミットを行う習慣を身につけると、マージは小さくなる傾向があり、ツールはそれを完璧に実行する傾向があります。

于 2010-03-16T16:52:00.247 に答える
6

ソリューションファイルを比較/マージするためのツールを作成しました(また、フィルター処理されたソリューションを動的に作成するためにも使用できます)。

http://slntools.codeplex.com/で見つけることができます

于 2010-09-02T17:27:53.827 に答える
1

ソリューションにファイルを追加することはなく、プロジェクトのみを追加します。ファイルを追加する必要がある場合は、それらをプロジェクトに追加します。

マージしたくない場合は、誰かが新しいプロジェクトでソリューションをチェックインし、そのプロジェクトとソリューションをプルダウンして、独自のソリューションファイルを上書きしてから、プロジェクトをソリューションに再度追加してチェックするという方法があります。これで、ソリューションにはプロジェクトとあなたのプロジェクトの両方が含まれます。

于 2010-03-16T16:54:16.187 に答える
1

私もプロジェクトファイルとのマージの問題に非常にうんざりしていました。(ある時点で、単一のプロジェクトファイルで9000以上の競合を解決しようとしていました。)

だから私はそれについて何かをしました:http: //www.projectmerge.com

これはプロジェクトファイルの比較/マージツールとして始まりましたが、すぐに任意のXMLファイルを比較およびマージできるものに進化しました。

お役に立てば幸いです。

于 2010-08-14T15:03:03.077 に答える
0

コメントのプールに追加する1つの提案...

コミットするときにSLNファイルに加える変更を最小限に抑えて、他のユーザーが簡単にマージできるようにします。

(もちろん、他の人にも同じことが言えます)。

説明のために、SLNファイルに現在4つのプロジェクトがリストされていると仮定します。

SLN: A, B, C, D

あなたと同僚の両方が変更を加えます。プロジェクトEを追加すると、(何らかの理由で)物事が並べ替えられます。

Yours:  A, E, D, C, B

同僚の変更には、プロジェクトFの追加が含まれます。

Co-Worker: A, B, C, D, F

変更をそのままコミットする場合、同僚は次の2つをマージする必要があります。

SLN: A, E, D, C, B
Co-Worker: A, B, C, D, F

不快な。

代わりに、(注意深く!)違いを最小限に抑えるように作業する場合は、作業コピーを次のように表示できます。

Yours:  A, B, C, D, E

この場合、同僚がマージする必要があるとき、彼らはこれに直面する必要があります:

SLN: A, B, C, D, E
Co-Worker: A, B, C, D, F

マージがはるかに簡単です。

于 2010-03-17T21:01:02.620 に答える