这是情景:的Git,SVN会很困惑,在标签具有相同名称作为以前删除的一个
- 我复制我的颠覆躯干成标签“A”。
- 然后,我从本地存储库运行'git svn fetch',找到了分支点,并将其添加为远程分支'svn/tags/A'。
- 后来我从subversion中删除标签“A”,并再次运行'git svn fetch'。
- 我做了'git branch -rd svn/tags/A'从本地存储库中删除悬挂的远程分支。
- 在稍后的交汇处,我在我的Subversion存储库中创建了一个名为“A”的新标签。 'git svn fetch'找到了分支点,但问题如下:
我的本地git仓库认为'svn/tags/A'指向已删除分支的旧提交。我在'.git/svn/svn/tags'中发现了一些对'A'的引用,也许他们正在与我混淆。但是当我启动另一个git仓库并在运行'git svn fetch'之前删除这些文件时,我仍然得到'svn/tags/A'指向错误的提交。
是否有任何方法清除远程Subversion分支并将其重新读入到本地git存储库中?
编辑:我有点得到这个工作,但我不确定它的机制。
我移出'.git/svn/svn/tags'中的引用来分支'A',然后执行'git svn reset -r 1000',其中r1000是紧接在分支点之前的提交。然后做了另一个'git svn fetch',它看起来像它的工作。
'svn/tags/A'现在指向新的提交。