git svnを使用してsvnリポジトリをチェックアウトしました。次に、ブランチの1つをチェックアウトして追跡する必要があります。それを行う最良の方法はどれですか?
git svnを使用してsvnリポジトリをチェックアウトしました。次に、ブランチの1つをチェックアウトして追跡する必要があります。それを行う最良の方法はどれですか?
回答:
Subversionトランク、タグ、ブランチを含むのgitクローンを作成します。
git svn clone http://svn.example.com/project -Tトランク-bブランチ-tタグ
--stdlayout
Subversionリポジトリが一般的な構造を使用している場合、このオプションは便利なショートカットです。
git svn clone http://svn.example.com/project --stdlayout
gitリポジトリに、Subversionリポジトリが行うすべてのことを無視させます。
git svn show-ignore >> .git / info / exclude
これで、git側のすべてのSubversionブランチが表示されるはずです。
gitブランチ-r
Subversionのブランチの名前はだとしwaldo
ます。git側では、あなたは実行します
git checkout -b waldo-svn remotes / waldo
-svnサフィックスは、フォームの警告を回避するためのものです
警告:refname 'waldo'があいまいです。
gitブランチを更新するにはwaldo-svn
、次を実行します。
git checkout waldo-svn git svn rebase
トランクのみのクローンにSubversionブランチを追加するには、gitリポジトリを変更.git/config
して、
[svn-remote "svn-mybranch"] url = http://svn.example.com/project/branches/mybranch fetch =:refs / remotes / mybranch
あなたは走る習慣を身に付ける必要があります
git svn fetch --fetch-all
git svn
考えているものすべてを個別のリモートで更新します。この時点で、上記のようにブランチを作成して追跡できます。たとえば、mybranchに対応するgitブランチを作成するには、次を実行します。
git checkout -b mybranch-svn remotes / mybranch
目的のブランチについてはgit svn dcommit
、その履歴を線形に保ってください!
--prefix=svn/
ときに追加)これにより、ローカルブランチにサフィックスを追加する必要がなくなります。git-svn init
git-svn clone
show-ignore
エラーが発生した場合は、試してくださいgit svn show-ignore -i trunk