git-svnで特定のsvnブランチをリモートリポジトリとして使用するにはどうすればよいですか?
-
08-07-2019 - |
質問
警告:私は一般に 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ディレクトリの名前を指定します。これは、あなたの状況では重要かもしれません。