这是一个场景:
-
我把我的折叠行李箱复制到一个标签“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”指向已删除分支的旧提交。我发现了一些对“a”的引用,git/svn/svn/tags,也许他们在耍我。但当我启动另一个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”现在指向新提交。