49

Subversion のフロントエンドとして git を使用しています (git svn 経由)。

したがって、すべてのsvnトランク/ブランチに対して、「remotes/xxx」という名前のgitにリモートブランチがあります。たとえば、「remotes/trunk」、「remotes/coolfeature」などです。

ここで、リモート ブランチごとに「デフォルト」のローカル ブランチを 1 つ用意して、dcommit に使用したいと考えています。問題は、そのようなブランチに「trunk」、「coolfeature」などの Subversion ブランチにちなんで名前を付けたいことです。そのため、git に次のブランチがあります。

trunk
coolfeature
remotes/trunk
remotes/coolfeature

問題は、「trunk」または「coolfeature」を参照するたびに、git がブランチ名があいまいであると不平を言うことです。大したことではないのですが、不快に感じます。

問題は、単にブランチの名前を変更することが私がやりたいことではないと仮定して、その警告にどのように対処できるかということです。そのような場合のベストプラクティスは何ですか?

4

4 に答える 4

40

--prefix=svn/コマンドにフラグを渡すとgit svn clone、すべてのSubversionブランチはのように名前が付けられremotes/svn/branchnameます。これが許容できる場合は、「refnameisabbiguous」警告が修正されます。また、リモートsvnブランチを参照するための優れた方法も提供します。たとえば、ローカルトラッキングブランチを作成する場合は、次のようになります。

$ git checkout -b branchname svn/branchname

その場合、ローカルブランチはリモートsvnブランチと同じ名前になり、あいまいなrefnameの問題は発生しません。

于 2011-03-24T21:11:28.890 に答える
13

警告を取り除きたいだけの場合は、次のように設定core.warnAmbiguousRefsfalseます。

git config --global core.warnambiguousrefs false

単一のリポジトリに対してのみこの動作が必要な場合は、--globalフラグを省略します。

于 2011-01-10T10:20:40.847 に答える
1

タグとして別の「trunk」と「coolfeature」がある可能性があります。この場合、git はブランチを参照しているのかタグを参照しているのかわかりません。タグの名前を変更し、git が「あいまいな」名前を報告しないかどうかを確認します

于 2011-09-23T09:21:40.397 に答える