警告の言葉:私はgit
全般にn00bです。私のチームはsvn
の機能ブランチを使用しており、git-svn
を使用して特定の機能ブランチでの作業を追跡したいと考えています。私は(大体) Andy Delcambreの投稿 に従ってローカルgit
リポジトリを設定しましたが、これらの指示によりgit
がsvn
リモートリポジトリとして最後に変更されたブランチ。問題は、私が気にしているブランチではないということです。 git-svn
が使用するブランチを制御するにはどうすればよいですか?または、私はこれに完全に間違っていますか?
更新:-T
、-b
、および-t
オプションを使用しました(私の場合、svn
リポジトリには複数のプロジェクトがありますが、git
私が取り組んでいるプロジェクトのみを含むリポジトリ。
Muchas graciasはこの便利なBartのブログをご覧ください gitのsvnブランチのリファレンス 。どうやら必要なのは、git
ブランチの作成時にリモートブランチを指定することだけでした。たとえば、
git checkout -b git-topic-branch-foo foo
ここで、foo
はリモートブランチの名前です。
また、これをご覧になるかもしれません: git-svnはゲートウェイドラッグです-robby on Rails 。
ローカルブランチが正しいリモートsvnブランチを指していることを確認する必要があるときに、次のようなものを使用しました。
git branch -r
追跡するリモートブランチの名前を取得します。それから
git reset --hard remotes/svn-branch-name
別のリモートブランチを指すようにローカルブランチを明示的に変更する。
最初に「git svn fetch」を実行する必要がありました。関連付けたいブランチはgitクライアントの後に作成されていたからです。
Git-svnを使用していますが、SVNブランチと相互運用する機能は使用していません。そうは言っても、あなたがフォローしているチュートリアルでは、git svn initに -T、-b、-t オプションを使用していません。これらのオプションは、git-svnにアップストリームtrunk/branches/tagsディレクトリの名前を伝えます。これは、あなたの状況では重要かもしれません。