6

読みました :

、そしてどちらも私のニーズに合いません。

職場では、リモートCVSリポジトリを使用しています。このリポジトリへのアクセスは、Eclipse CVSツール、およびEclipse用のチームツールの上に構築された社内のEclipseプラグインを介して処理されます。これは、より良いvcsに移行できないことを意味します。

ただし、ローカルマシンでGitを使用して(個人の分岐を有効にするために)、次のことを実行できるようにしたいと思います。

Gitでブランチを作成し、終了してローカルトランクにマージして戻したら、Eclipseチームツールなどを使用してcvsリポジトリにコミットします。

私の計画は次のようなものです。

  • チェックアウトしたファイルを別のフォルダ[gitRepo]にコピーします。
  • gitRepoでマスターgitリポジトリを作成します
  • gitRepoで分岐し、変更を加えます。
  • gitRepoにコミットする
  • gitRepoをコピーしてチェックアウトしたファイルに戻します
  • リモートCVSと同期します。

私はEclipseにeGitを使用することを計画していましたが、CVSと.gitファイルはバージョン管理の所有権をめぐって競合すると思います。

これを管理するのに役立つツールや推奨されるワークフローはありますか?また、GitはCVSファイルでどれだけうまく機能しますか。お互いに感染させたくないので、その逆も同様です。

以前のリンクが役に立たない理由は、それらがgitリポジトリからcvsリポジトリに直接コミットしているためです。これは、誤ってcvsリポジトリに感染したくないので心配です。

また、GitRepoの変更はCVSリポジトリに保持される必要はありません。たとえば、リモートCVSに反映されたgitリポジトリへのすべてのプッシュを確認する必要はありません。

〜読んでくれてありがとう。

4

2 に答える 2

4

CVSワークスペース内で直接gitリポジトリを完全に作成できます(他のVCSツール内で直接作成するのと同じです) 。

gitがすべての.cvsリソースを無視することを確認し、CVSがを無視することを確認して.gitください。
GitのコミットはCVSに直接反映されません。

唯一のトリックは、EclipseがGitのみまたはCVS情報とラベル装飾のみを表示することです。
そのために、2つの異なるEclipseパースペクティブを構成し、どちらか一方のVCSツールを非アクティブ化します。

于 2010-09-06T17:33:27.567 に答える
3

私はこれを実際に行っており、次の方法が役立つことがわかりました。

  1. いずれかの(master私の場合)ブランチを常にCVSと同期させてください。このブランチを開発に使用しないでください。このブランチを定期的に更新して、チームの他のメンバーが行った変更を取得します。これらの変更が現在の作業に関連している場合は、 (またはその他の適切な)ブランチmerge masterから実行してください。dev

  2. CVSにチェックインする準備ができたら、ブランチに切り替えてmaster、適切なブランチからの変更をマージします(必要にdev応じfeatureてなど)。テストを実行してください!

  3. 雇用主はおそらくCVSリポジトリのバックアップを保持します。gitリポジトリをバックアップしておく方法を見つける必要があります。1つの方法は、Dropboxフォルダーにミラーリポジトリを追加し、post-commit各コミット後にフックを使用してそれを更新することです。

  4. master仕事を離れる前に、ブランチに切り替えてください。CVS up -d私はかつて朝の枝を走るのを間違え、devかなり混乱してしまいました。master更新する前に自動的に切り替えるスクリプトを追加すると役立ちます。

于 2010-09-06T17:57:16.970 に答える