5

同じ VS2005 ソリューションに取り組んでいる開発者が何人かいますが、ソース管理が非常に悪いです。(当社は Harvest を使用しており、不信任投票を行っています)。

現在、私たちは皆、共有 LAN ドライブ上のファイルを処理しているだけです。明らかに、これはいくつかの問題を引き起こします。しかし、ローカルで作業し、スプレッドシートで操作したファイルを追跡し、すべてを手動でマージするよりはましだと考えています。変更をマージするための戦略を持っている人はいますか?

一部の問題は、企業の官僚主義 (Harvest の義務付けなど) が原因で存在します。これらの同じポリシーにより、環境への新しいツールの導入が妨げられています。したがって、新しいソフトウェアの購入/ダウンロードを避ける戦略が私たちにとって最も効果的です.

4

9 に答える 9

6

もう 1 つの可能性は、 Scooter の Beyond Compareです。2 方向および 3 方向のマージと、ファイルとディレクトリに対する優れた差分機能があります。それについてもう少し知りたい場合は、Jim McKeithによるDelphi ポッドキャストを聞いてください。

しかし、他のほとんどのシステムと同様に、Git を使用するか、Harvest を学習することをお勧めします。ソース管理システムで差分アプリケーションを変更できる場合、Beyond Compare は優れた代替品になります。

于 2008-10-14T18:10:00.327 に答える
6

ハーベストの使い方を学びます。物事をスムーズに進めるには多少の努力が必要ですが、全体としては優れたソース管理システムです。

于 2008-10-14T18:06:51.877 に答える
5

共有をソース管理システムのように扱います。共有を読み取り専用にします。これにより、開発者は変更を加えるためにローカル コピーを取得する必要があります。次に、比較するためのある程度安定したバージョンがあります。これは、「マージ」を実行できるようにするのに役立ちます。コードを「チェックイン」するには、ファイルの何らかのバックアップ戦略 (新しいファイル名の一部としてタイムスタンプとユーザー名を含むファイルのコピーを作成する可能性があります) と、元のファイルを新しいバージョンに置き換える必要があります。

そうは言っても、信頼できる実際のソース管理システムなしでこの種のアクティビティを行うことは困難であり、エラーが発生しやすくなります。

于 2008-10-14T17:56:52.147 に答える
4

git を入手して、すべての開発者のマシンにローカルにインストールします。次に、リポジトリをレプリケートするように設定します。

于 2008-10-14T18:00:06.070 に答える
3

バージョン管理とマージという2つの明確な問題があります。バージョン管理システムを使用しない理由はまったくありません。会社が(何らかの理由で)解決策を決定した場合は、それを使用します。それを好まない、またはそれに「自信を持っていない」ことは、それを使用しない正当な理由ではありません。また、共有ドライブを使用してソースコード管理システムを模倣することは、夢のようなことではありません。

マージは2番目の問題です。必要なのは、差分/マージツールだけです。一つを選ぶ。どうしてこんなに長くなったの?

Araxisは素晴らしいものです。数ドルかかります。SourceGearの人々は、しばらくの間、差分/マージツール(Vaultに付属しているツール)を自由に配布してきました。それはまた確固たる競争相手でもあります。これらは私が使用した2つで、現在も市場に出回っています。すでに言及しているものもあります。

すべてを手作業でマージすることは、維持可能な解決策ではありません。それをVCSを使用しないことと組み合わせると、災害のレシピになります。

于 2008-10-14T20:03:22.810 に答える
2

手動で行う場合を除き、おそらく何かをダウンロードする必要があります。Winmergeを強くお勧めします。それは無料でオープンソースであり、混乱しない小さなダウンロードの方がおそらくあなたにとっては良いでしょう.

于 2008-10-14T17:59:39.863 に答える
2

マージと呼ばれる標準の UNIX コマンド ライン ツールがあり、ファイルに対する 2 つの変更セットをかなりインテリジェントにマージします。構文は次のとおりです。

merge mine older yours

"mine" はあなたの変更を含むファイル、"older" は元のファイル、"yours" は他のユーザーの変更を含むファイルです。

ただし、これを行うためにUNIX(またはMac OS X)ボックスが横になっているかどうかはわかりません。

于 2008-10-14T18:02:07.643 に答える
2

これは実行可能なオプションではないかもしれませんが、おそらくbazaargit、またはMercurialなどの分散システムを使用できます。

これらを提案する理由は、オーバーヘッドが非常に低く、他のシステムで使用できるからです。bazaar では、リポジトリは単にディレクトリに追加された隠しフォルダーであることを知っています。

于 2008-10-14T18:05:06.123 に答える
1

共有ドライブで作業することは良い考えではなく、「自信がない」と投票しました。

他の人の変更を上書きするのは簡単すぎるでしょう。変更追跡がなく、ブランチやタグ/ラベルを付ける方法がありません。

于 2008-10-14T18:02:47.953 に答える