警告:使用git-svn时refname'xxx'不明确

Iva*_*rov 49 git branch git-svn ambiguity

我使用git作为Subversion的前端(通过git svn).

因此,对于每个svn trunk/branch,我在git中有一个名为"remotes/xxx"的远程分支.例如"遥控器/主干","遥控器/冷藏特征".

现在我希望每个远程分支都有一个"默认"本地分支,用于dcommit.问题是我希望这些分支以Subversion分支命名,比如"trunk","coolfeature",所以我在git中有以下分支:

trunk
coolfeature
remotes/trunk
remotes/coolfeature
Run Code Online (Sandbox Code Playgroud)

问题是,每当我引用"trunk"或"coolfeature"时,git抱怨分支名称含糊不清.没什么大不了的,但我觉得不舒服.

问题是,我怎么能处理这个警告,假设简单地重命名分支不是我想要做的.这类案件的最佳做法是什么?

Jas*_*ele 40

如果将--prefix=svn/标志传递给git svn clone命令,则所有Subversion分支都将命名为remotes/svn/branchname.如果您可以接受,则会修复"refname is ambiguous"警告.它还为您提供了一种引用远程svn分支的好方法,例如,如果要创建本地跟踪分支,它将类似于:

$ git checkout -b branchname svn/branchname

然后本地分支与远程svn分支具有相同的名称,并且没有模糊的refname问题.

  • 如何修复我已经克隆过的存储库`--prefix = svn /`? (19认同)

max*_*max 13

如果您只是想摆脱警告,请设置core.warnAmbiguousRefsfalse:

git config --global core.warnambiguousrefs false
Run Code Online (Sandbox Code Playgroud)

如果只希望此行为用于单个存储库,请省略--global标记.