git svn を使用して svn リポジトリをチェックアウトしました。次に、ブランチの 1 つをチェックアウトして追跡する必要があります。最適な方法は何ですか?
ベストアンサー1
標準のSubversionレイアウト
Subversionのトランク、タグ、ブランチを含むgitクローンを作成します。
git svn クローン http://svn.example.com/project -T トランク -b ブランチ -t タグ
--stdlayout
Subversion リポジトリが一般的な構造を使用している場合、このオプションは便利なショートカットになります。
git svn クローン http://svn.example.com/project --stdlayout
Git リポジトリで Subversion リポジトリが行うすべての操作を無視するようにします。
git svn show-ignore >> .git/info/exclude
これで、git 側ですべての Subversion ブランチを確認できるようになります。
git ブランチ -r
Subversionのブランチ名が だとしますwaldo
。git側では、以下を実行します。
git チェックアウト -b waldo-svn リモート/waldo
-svnサフィックスは、次のような警告を回避するためのものです。
警告: refname 'waldo' があいまいです。
gitブランチを更新するにはwaldo-svn
、以下を実行します。
git チェックアウト waldo-svn git svn リベース
トランクのみのチェックアウトから始める
Subversionブランチをトランクのみのクローンに追加するには、gitリポジトリを.git/config
次のように変更します。
[svn-remote "svn-mybranch"] URL = http://svn.example.com/project/branches/mybranch フェッチ = :refs/remotes/mybranch
走る習慣を身につける必要がある
git svn フェッチ --fetch-all
別々のリモートと思われるものをすべて更新しますgit svn
。この時点で、上記のようにブランチを作成して追跡できます。たとえば、mybranchに対応するgitブランチを作成するには、次のコマンドを実行します。
git チェックアウト -b mybranch-svn リモート/mybranch
作成しようとしているブランチについてはgit svn dcommit
、履歴を線形に保ちます。
さらに詳しい情報
あなたも興味があるかもしれません関連する質問への回答。