git-svnで特定のsvnブランチをリモートリポジトリとして使用するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/192736

質問

警告:私は一般に git のn00bです。私のチームは svn で機能ブランチを使用しています。 git-svn を使用して、特定の機能ブランチでの作業を追跡したいと思います。 Andy Delcambreの投稿を(大体)フォローしていますローカルの git リポジトリを設定しましたが、これらの指示により、 git がリモートとして最後に変更された svn ブランチを選択したようですリポジトリ;問題は、私が気にするブランチではないということです。 git-svn が使用するブランチを制御するにはどうすればよいですか?または、これに完全に間違っていますか?

UPDATE: -T -b 、および -t オプションを使用しました(私の場合、 svn リポジトリには複数のプロジェクトがありますが、 git リポジトリには現在作業中のプロジェクトのみが含まれるようにします。

役に立ちましたか?

解決

この便利な svnブランチのリファレンスのためのBartのブログへのMuchas gracias git 。どうやら必要なのは、 git ブランチの作成時にリモートブランチを指定することだけでした(例:

)。
git checkout -b git-topic-branch-foo foo

foo はリモートブランチの名前です。

他のヒント

こちらもご覧ください: git-svnはゲートウェイドラッグです-レール上のロビー

ローカルブランチが正しいリモートsvnブランチを指していることを確認する必要があるときに、次のようなものを使用しました。

git branch -r

追跡したいリモートブランチの名前を取得します。その後

git reset --hard remotes/svn-branch-name

ローカルブランチを明示的に変更して、別のリモートブランチを指すようにします。

最初に 'git svn fetch'を実行する必要がありました。関連付けたいブランチがgitクライアントの後に作成されていたためです。

git-svnを使用していますが、SVNブランチと相互運用する機能は使用していません。そうは言っても、あなたがフォローしているチュートリアルでは、 -T、-bを使用していません。 、git svn initの-t オプション。これらのオプションは、git-svnにアップストリームtrunk / branches / tagsディレクトリの名前を指定します。これは、あなたの状況では重要かもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top