【问题标题】:Recreate Git repo from multiple Branches从多个分支重新创建 Git 存储库
【发布时间】:2012-03-20 17:25:58
【问题描述】:

我有一个 Git 存储库,它一直表现得很有趣。

我可以checkout我所有的branches,我可以正常处理每个人,我可以对每个人执行gitk并成功查看他们各自的commits - 除了一个例外.. .

.... 一个 branch 我似乎无法访问。我尝试执行任何包含有缺陷的branch 的操作时,都会收到错误消息。

例如:gitk --all 产生fatal: blah blah blah(作为旁注,有关错误的更多详细信息可以查看here,但我试图从完全不同的角度提出解决方案)。

问题

有没有办法重新组合所有其他的,一起工作 branches,这样我就可以再次使用这个 repo - 只会从损坏的 branch 中丢失 commits,因为损坏的 branch 不会还有其他的branches 从它延伸出来吗?

【问题讨论】:

  • 如果您向我们提供错误消息“bla bla bla”,没有人可以帮助您
  • @PaulBetts 我完全理解,但这在问题中并不重要。但是,如果您或其他人认为它可能相关,我已经链接到一个包含更多信息的问题。这个问题更多是关于将gitbranches 合并到一个仓库中。
  • 你只是问如何删除损坏的分支?
  • @PaulBetts 不完全是。我已经尝试过了,但是错误不允许我这样做。我在问是否有办法创建一个新的 repo 并用 GoodBranchA 填充它,然后添加 GoodBranchB 等。重建我的原始 repo,但不添加分支 BadBranch
  • 啊,我明白了 - 只需进入 .git 并删除 refs/heads/BadBranch

标签: git repository branch git-branch fatal-error


【解决方案1】:

您可以创建一个远程并将所有“好”分支推送到该remote。然后在新的本地目录中,对 remote 执行 git clone

之后,如果您执行git branch -a,您应该会看到所有本地和远程分支。您可以为每个远程分支创建一个本地跟踪分支:

    git checkout -b branch remote/branch

在此之后,您应该拥有一个包含所有“好”分支的本地存储库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 2018-04-30
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多