git svn fetch
はどのように機能しますか?マスターまたは他のブランチとマージまたはリベースできるようにフェッチされるブランチはどこにありますか? git remote
がgit svn
リポジトリに何も提供しないため、データはどこでフェッチされますか?
git svn fetch
の仕組みは次のとおりです。
git-svn
を使用する場合、gitを使用する場合のように、svnサーバーのremotesがなく、リンクがあるだけです。リモートへsvnローカルのサーバー。gitconfigファイル。
現在のブランチを最後のリビジョンに更新する場合は、git svn rebase
を使用できます。ただし、svnプロジェクトが大きい場合は、最後のリビジョンが正常なビルドであるかどうかわからない状況にある可能性があります。また、ビルドが成功したことが確実な特定のリビジョンに更新する場合、たとえば、最後に成功したビルドを提供するJenkinsを使用する場合は、最初に必要なリビジョンにfetchする必要があります。次にrebaseフェッチされたコミットを使用します。
このためにあなたはgit svn fetch -r <revision>
することができます。これにより、必要なリビジョンまでコミットがローカルにフェッチされます。フェッチされたデータをリベースするには、git svn rebase -l
またはgit svn rebase --local
を使用する必要があります。ローカルリベースを行うためにオンラインである必要はありません。
デフォルトでは、git-svnトラッキングブランチはremotes/git-svn
です。これを使用して、git svn fetch
によってフェッチされた変更に加えて作業をマージまたはリベースできます。