8

私のチームは、約 20,000 の Java ファイルを含む cvs のプロジェクトに取り組んでいます。ファイルの数が多いため、cvs の更新には時間がかかります。私は通常、ツリー全体の約 5 つのコピーをチェックアウトしておきます。これにより、それぞれのファイルが変更されたことを気にすることなく、さまざまな要求を簡単にチェックインできるようになります。5 つのツリーすべてを最新の状態に保ち、相互に同期させるのは本当に大変です。

リモートの cvs サーバーを使用してローカルで git を使用するのはかなり簡単で、git は高速であることを読みました。git はローカル ツリーの更新を大幅に高速化しますか?

下限は、1 つの cvs update を実行する時間であることに気付きました。しかし、最初のツリーが更新されたら、さらに 4 つの cvs update コマンドを実行するよりも、最初のツリーと他の 4 つをすばやく同期できるのではないかと考えています。git を正しく理解していますか?

4

2 に答える 2

10

私たちは仕事でも似たようなことをしています。私たちは基本的にmaster、git のブランチを単一の更新された CVS バージョンのコードとして使用します。CVS の更新だけで、開発は一切行っていません。次に、すべての開発プロジェクトは、リベースする機能ブランチで行われます。ブランチでCVS の更新を行う場合、masterそれらの変更を にコミットしてからmaster、他の開発ブランチを にリベースしますmaster

これは理想的ではありません。他の人とブランチを共有することが難しくなります。しかし、一度に複数の開発プロジェクトを管理し、ブランチ、マージ、差分を簡単に実行できます。masterそして、必要に応じて、1 つのブランチでのみ CVS と対話します。

于 2008-11-26T17:04:12.810 に答える
8

大規模なプロジェクト (1 万ファイル程度) で Git を Subversion クライアントとして使用しています。Git は高速です。本当に高速です。非常に高速なので、動作中のクローンを1 つだけ保持し、その同じクローン内でフィーチャー ブランチを切り替えます。あなたと同じように、私が Subversion を使用していたときは、2 つまたは 3 つの同様のチェックアウトがあり、複数のことを同時に進行していたため、それらを定期的に切り替えていました。時々かなり混乱することがあります。軽量ブランチ、スタッシュ、「git add -p」などの Git の機能を使用すると、複数のチェックアウトが不要になることがわかりました。すべてを 1 つのディレクトリで行うことができ、変更を忘れたり誤って上書きしたりして失われる心配はありません。

私は CVS で Git を使用したことはありませんが、その統合が git-svn のようなものであれば問題ありません。

于 2008-11-27T18:11:27.087 に答える