8

私の職場では現在 CVS を使用しています。git への移行が計画されていますが、それには時間がかかる可能性があります。その間、私は 1 人でプロジェクトを進めており、個人的な開発に git を使用することにしました。分岐、段階的なコミット、リベースなどは素晴らしいものでした! しかし残念なことに、ある時点でこのプロジェクトとその履歴を CVS にインポートする必要があり、他の人が私の進行状況を確認できるようになります。

最善の方法は何ですか...

  • 現在のプロジェクトを (理想的には個別のコミット/リビジョンのセットとして) CVS にインポートします
  • 将来の変更を CVS に繰り返しインポートできるようにする
  • (ボーナスの質問 - 理想的ですが、必須ではありません) 他の開発者による CVS の変更を git にマージします。

それが重要であるとしても、現時点では CVS には何もありません。(そして、私のやり方が許せば、CVS には何もないでしょうが、今のところはそれで行き詰まっています!) よろしくお願いします!

4

2 に答える 2

2

私は明示的な CVS の知識はありませんが、次のセットアップをお勧めします。

  • Work\Project.git<-- git リポジトリ
  • Sync\Project..\Work\Project.git<--このフォルダーの + CVS バージョン管理の master ブランチの git clone 。

git ですべての作業を行うことができProject.git、CVS にインポートしたい場合は、同期ディレクトリの変更を再生するためにSync\Projectaに移動git pullします (おそらく、CVS で完全なディレクトリ チェックアウトを行う必要がありますか?)。

逆のシナリオでは、インポート ブランチで作業する必要があるかもしれませんが、同期フォルダー内のコリージュから変更を取得することは可能だと思いますが、新しいブランチでインポートし、それをマスター ブランチとマージします。メインの git リポジトリから取得します。このマージの後git push、変更をWork\Project.git.

要するに、あなたが別の開発者であるかのように同期リポジトリを使用してください。通常のリポジトリに同期からプルさせることもできます (そのため、自分自身にプル リクエストを送信してください ;-) )、または git send patch メカニズムを使用してメインの git リポジトリを更新することもできます。

CVS 変更セットを git にインポートする際に役立つ git-cvsimport があります。

于 2010-03-05T22:33:44.400 に答える
2

git cvsimportgit cvsexportcommit同様のワークフローを提供できますgit svn

于 2010-03-06T00:29:31.377 に答える