Git:警告:使用git-svn时,refname'xxx'是不明确的
我使用git作为Subversion的前端(通过git svn)。
所以,对于每个svn trunk /分支,我都有一个名为“remotes / xxx”的远程分支。 例如“遥控器/行李箱”,“遥控器/酷炫”。
现在我想为每个远程分支都有一个“默认”本地分支,可以将它用于dcommit。 问题是我想要这样的分支以Subversion分支命名,比如“trunk”,“coolfeature”,所以我在git中有以下分支:
trunk coolfeature remotes/trunk remotes/coolfeature
问题是每次我引用“trunk”或“coolfeature”git抱怨分支名称是模棱两可的。 没什么大不了的,但是我感到不舒服。
问题是,我怎么能处理这个警告,假设只是更名分支不是我想要做的。 这种情况下的最佳做法是什么?
如果你将--prefix=svn/
标志传递给git svn clone
命令,那么所有的Subversion分支将被命名为remotes/svn/branchname
。 如果这是可以接受的,它修复了“refname是不明确的”警告。 它也给你一个很好的方式来引用远程svn分支,例如,如果你想创build一个本地跟踪分支,它会是这样的:
$ git checkout -b branchname svn/branchname
然后本地分支与远程svn分支具有相同的名称,并且没有歧义的refname问题。
如果你只是想摆脱警告,将core.warnAmbiguousRefs
设置为false
:
git config --global core.warnambiguousrefs false
如果只想为单个存储库执行此操作,请忽略--global
标志。
你可能有另外一个“箱子”和“coolfeature”作为标签。 在这种情况下,git不知道是否引用分支或标记。 重命名标签,并检查git是否不报告“不明确”的名称
为了避免冲突信息,在引用本地分支时,以head/
例如,冲突的分支topic
$ git diff topic remotes/topic warning: reframe 'topic' is ambiguous. ...
变
$ git diff heads/topic remotes/topic ...