[解決済み] SubversionのリポジトリをGitのサブモジュールとして持つことは可能ですか?
2022-04-26 12:27:08
質問
Git リポジトリに、Subversion リポジトリを Git サブモジュールとして追加する方法はありますか?
のようなものです。
git-svn submodule add https://svn.foo.com/svn/proj --stdlayout svn-project
ここで
https://svn.foo.com/svn/proj
は、Subversion リポジトリを指します。
があるのは知っています。
git-svn
これは、Subversion リポジトリと対話することを可能にします。そこで私は、Subversionのリポジトリをチェックアウトする方法として
git-svn
を作成し、それをサブモジュールとして使用します。
どのように解決するのですか?
いいえ。最善の策は、専用の git リポジトリに svn リポジトリのミラーをセットアップすることでしょう。
git svn clone -s http://subversion.example.com/ mysvnclone
cd mysvnclone
git remote add origin [email protected]:project.git
git push origin master
そして、git リポジトリを元のプロジェクトのサブモジュールとして追加することができます。
cd /path/to/gitproject
git submodule add git://example.com/project.git -- svn-project
git add svn-project
git commit -m "Add submodule"
svn:externals と git submodule の間には、Subversion の観点からアプローチするとつまずくかもしれない、ひとつのコンセプトの違いがあります。git サブモジュールは、あなたが与えたリビジョンに固定されています。もし "upstream" が変更されたら、サブモジュールのリファレンスを更新しなければなりません。
そこで、上流のサブバージョンと再同期するとき。
cd /path/to/mysvnclone
git svn rebase
git push
... git プロジェクトは、先にコミットした元のリビジョンをそのまま使用します。svn の HEAD に更新するためには
cd /path/to/gitproject/svn-project
git checkout master
git pull
cd ..
git add svn-project
git commit -m"Update submodule"
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] git rebase の取り消し
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 時折 svn: E170013: URL 'https://svn......' のリポジトリに接続できません svn: E730054: コンテキストの実行エラー
-
[解決済み] Subversionリポジトリにおける「branch」、「tag」、「trunk」の意味とは?
-
[解決済み】最近のSVNログエントリーを見るにはどうしたらいいですか?
-
[解決済み] SVN:externalsはGitで同等?
-
[解決済み] Subversionで部分的なチェックアウトは可能ですか?
-
[解決済み] あるリビジョンにコミットされたファイルを一覧表示する
-
[解決済み] 作業コピーのバージョン管理されていないファイルやフォルダーをすべて削除するにはどうすればよいですか?
-
[解決済み] ローカルに存在しないファイルを全て削除するSVNコマンド
-
[解決済み] SVNアップグレード作業コピー
-
[解決済み] svn : トランクの特定のリビジョンからブランチを作成する方法