0

これが問題です。私は大規模なプロジェクト (ご想像のとおり) に取り組んでいる大規模なチームの一員です。jquery、backbone、underscore、timezoneJS、momentjs、backbone.grid など、あらゆる種類の git 対応プロジェクトを使用しています。別のプロジェクトで必要な共有の「アーキテクチャ」リソースもいくつかあります。

会社は主に SVN で運営されていますが、私たちのプロジェクトが GIT にあることは理にかなっていると思います。これらの外部リソースをリポジトリに保持するのをやめて、代わりに「真実のソース」からそれらを取得できます。さらに重要なことは、プロジェクト間で使用している共有リソースを 1 つのリソースで編集してバグを修正し、その編集内容をプロジェクト全体で比較的簡単に共有できることです。

SVNを介してこれを行う方法があると思いますが、私はSVNの専門家にはほど遠いです。

とにかく、問題は次のとおりです。gitサブモジュールを含むgitリポジトリを取得し、すべてをパックして、適切な変更ログを添付してSVNにコミットすることは可能ですか、またはツールはありますか? いくつかのファイルはさまざまなビルドに基づいて自動的に更新されるため、変更を読み戻す必要もあります。subgit を調査しましたが、これをサポートしていないようです。

プロジェクトのセットアップに関する少しの情報:

プロジェクト#1:

  • ソース
    • アーキテクチャ -- 全社的なものと whatsits
      • lib --jquery、モーメントなど
    • project#1files -- プロジェクト固有のファイル
    • index.html
    • ブートストラップ データ ファイル

プロジェクト#2:

  • ソース
    • アーキテクチャ -- 全社的なものと whatsits
      • lib --jquery、モーメントなど
    • project#2files -- プロジェクト固有のファイル
    • index.html
    • ブートストラップ データ ファイル

..基本的な流れを見ることができます:)

4

1 に答える 1

0

GIT に移行したい場合は、チームにとってより理にかなっていると述べているため、git svnを使用してコミットを取得し、それらを GIT リポジトリ (プロジェクトごとに 1 つですか?) にプッシュできるはずです。

GIT クローンを SVN リポジトリにコミットすることは、はるかに理想的でなく、ハックっぽいオプションです。SVN はバイナリ ファイルでかなり優れているため、そうするのは難しいことではありません...それでも、SVN リポジトリに大量の GIT メタデータがあり、更新するたびにフェッチしてコミットする必要があるため、ほとんどお勧めしません。外部の依存関係 (わずかな利益のためにリポジトリのサイズが不必要に大きくなります)。

私自身は SVN や GIT の専門家ではないので、(おそらく) より良い方法があるかどうかはわかりません。会社の残りの部分が SVN を使用しているという理由だけで、チームが GIT に切り替えることに会社が反対している場合は、企業文化を変えようとする方がよいかもしれません。

于 2022-02-18T01:10:59.877 に答える