代码之家  ›  专栏  ›  技术社区  ›  Hans Sjunnesson

Git Svn对与先前删除的标签同名的标签感到困惑

  •  1
  • Hans Sjunnesson  · 技术社区  · 15 年前

    这是一个场景:

    • 我把我的折叠行李箱复制到一个标签“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”现在指向新提交。

    1 回复  |  直到 15 年前
        1
  •  0
  •   VonC    15 年前

    git svn reset rev_map refs/remotes/git-svn
    git svn update
    git svn fetch git rebase --onto documentation