問題タブ [version-control-migration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 共通トランクを持つ巨大な SVN リポジトリを Git に移行する
コミット履歴を持つ非常に巨大な SVN トランクを Git に移行する必要があります。SVN リポジトリの構造は次のとおりです。
トランク内の各プロジェクトを対応する Git リポジトリに移動することにのみ本当に関心があります。タグやブランチはあまり気にしません。間違っている場合は訂正してください。ただし、Git は非常に大きなリポジトリではうまく機能しないと思います。
過去にも同様の質問がありましたが、それらはかなり古いものであり、この問題に取り組む上で誰かが新しい視点を持っているかどうかを知りたいだけです. SubGit などのツールをいくつか試しましたが、すべてのプロジェクトが独自のフォルダーにあり、トランク、ブランチ、およびタグの階層があると想定しています。トランクフォルダーを明示的に指定し、タグとブランチを空のフォルダーに向けようとすると、SubGit はしばらくすると応答を停止します。
php - 特定のフレームワークを移行せずにデータベースのバージョン管理を行う方法は?
移行は、データベース スキーマのバージョン管理を行う 1 つの方法であることは知っています。ただし、複数のプロジェクトで共有されているデータベースがあり、すべてのプロジェクトでスキーマが少し変更される可能性があります。したがって、コードのgitのようなブランチおよびマージ機能のようなものが必要になりますが、移行ではそのような機能を提供できません。では、データベース専用のバージョン管理ツールはありますか?
データベースにはlaravelとmysqlでphpを使用しており、必要に応じてpostgresqlに切り替える予定です。
git - フィルタリングされた履歴を使用して SVN を Git に移行する
プロジェクトを SVN から Git に移行し、履歴を保持したいと考えています。
しかし、SVN リポジトリには運用パスワードやその他の機密データを含む構成ファイルがいくつかあるため、これらのいくつかのファイルを移行履歴から除外したいと思います。
どうすればこれを行うことができますか?
git - 複数のブランチで darcs リポジトリを git に変換する
複数のブランチ (つまり、異なるが関連するパッチ セットを含む 2 つ以上の darcs リポジトリ) を持つ darcs プロジェクトを単一の git リポジトリに変換して、各 darcs リポジトリが git リポジトリの個別のブランチに転送されるようにする方法はありますか?
考慮される解決策:
(1) darcs convert コマンドは、darcs を git にエクスポートするための 2 つのレシピを提供します。
を。ワンタイムエクスポート:
これにより、1 つのリポジトリ、1 つのブランチのみが変換されます。
b. マークファイルを使用した増分エクスポート (darcs リポジトリの git ミラーを維持するため):
(b) を使用して、ブランチとして他に darcs リポジトリが 1 つしかない場合は、続行したいと思うかもしれません
手順を繰り返しdarcs convert export
ます。
しかし、他の 2 つのブランチでは、../repo-branch2 をプルすると、branch1 と branch2 のパッチが一緒にマージされるため、これはうまくいかないようです。
(2) Darcs ブリッジ [2]。不完全で、2013 年以降メンテナンスされておらず、「まだ darcs-fast-convert という名前」であり、いずれかの方向 (darcs->git または git->darcs) での 1 回限りの変換にのみ推奨されます。
darcs-bridge ページ自体 [2] では、darcs 2.10 に組み込まれている「darcs convert」コマンドを使用することを推奨しています。
ただし、ブランチを処理できます (多少の作業が必要です)。
[2] のユース ケース 2 を参照してください。
これにより、2 つのブランチ (darcs) myproject -> (git) master (darcs) myproject-branch1 -> (git) myproject-branch1 の 2 つのブランチを持つ git リポジトリが作成されますが、マージは検出されませんでした。
[2] のユースケース 5 は、darcs-bridge が管理しているブランチのリストを変更する方法を説明しています。
「制限は何ですか?」と「何が必要ですか?」[2] では、特別なタグ付けが使用されない限り darcs マージは正しく変換されない (私には理解できない) と言っているようです。タグ付けはマージの前に行う必要があるため、現在は実行できません。
(3) Darcs-fastconvert (darcs-bridge のベース): [2] によると、複数のブランチを管理していませんでした。
(4) darcs-to-git: acc. [2] まで、分岐には対応していません
(5) darcs2git: acc. [2] まで、分岐には対応していません
(6) テーラー: acc. [2] へ、容易にブランチをサポートしない、darcs-fastconvert を支持して廃止された
参考文献:
[1] Darcs-Convert: http://darcs.net/Using/Convert )
[2] Darcs-Bridge: http://darcs.net/DarcsBridgeUsage )
git - トランク履歴を使用してsvnブランチをgitにインポートする方法
これはsvntrunk
パスです:
そして、ここにbranch
パスがあります:
ブランチのみを git に移行する必要がありますが、ブランチが作成される前のトランク履歴も必要です。
次のコマンドは、ブランチ履歴のみをフェッチします。
この回答を読みましたが、git svn clone
コマンドを変更してブランチの完全な履歴を取得する方法がわかりませんでした。アドバイスをいただければ幸いです。