git svn を使用してリモート ブランチをチェックアウトする 質問する

git svn を使用してリモート ブランチをチェックアウトする 質問する

git svn を使用して svn リポジトリをチェックアウトしました。次に、ブランチの 1 つをチェックアウトして追跡する必要があります。最適な方法は何ですか?

ベストアンサー1

標準のSubversionレイアウト

Subversionのトランク、タグ、ブランチを含むgitクローンを作成します。

git svn クローン http://svn.example.com/project -T トランク -b ブランチ -t タグ

--stdlayoutSubversion リポジトリが一般的な構造を使用している場合、このオプションは便利なショートカットになります。

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、履歴を線形に保ちます。


さらに詳しい情報

あなたも興味があるかもしれません関連する質問への回答

おすすめ記事