【问题标题】:Git - How to revert origin remote removeGit - 如何恢复原点远程删除
【发布时间】:2016-07-18 02:16:31
【问题描述】:

我在我的 Visual Studio 中删除了源远程。 我不知道它会删除真正的 git 分支。我以为这只是我的本地遥控器。

我现在必须还原每个遥控器。 但是“ git log ”不起作用。

请帮帮我。

【问题讨论】:

  • 我怀疑远程分支还在。您可以尝试创建一个指向与以前相同的 URL 的新远程吗?
  • Git 站点中的所有分支都已删除...除了 dev 之外,我找不到其他分支(这是默认分支)。
  • 您可以在本地恢复分支,然后将它们推送回您的提供商(例如 Bitbucket、GitHub)。考虑使用 reflog。理想情况下,您最近在分支上的所有提交都应该仍然存在。
  • 问题是我删除了其他人的分支。在“git reflog”中,我找不到其他人最近的提交。如何恢复我从未使用过的已删除分支。
  • 您的朋友也可以带上他们的分支机构,如果他们仍然在当地有分支机构,那就更容易了。以后不要这么快删东西了。

标签: git


【解决方案1】:

使用 gits 内置时间机器:

git reflog

它将列出您在本地存储库中执行的操作

在你搞砸之前复制操作的哈希并执行:

git reset --hard [paste the hash here]

你有它,你所有的分支应该又在那里了

要将它们推送回您的存储库,请执行以下操作:

git checkout master
git push -f origin master

-f 将覆盖您遥控器上的任何内容,因为您删除了它,所以对于这种情况它是可选的,但是由于我相信您尝试以某种方式重新创建它并且它现在可能已损坏,这将迫使它成为一个精确的副本您的本地分支,而不是您应该只为您在本地拥有的每个其他分支重复结帐和推送部分。

【讨论】:

    【解决方案2】:

    打开 git bash 或类似的东西并导航到项目根目录。输入以下内容:

    • git remote remove origin
    • git remote add orgin <url>,其中url 是你的 git repo 的 url

    然后要么做

    • git config --global push.default current

    • for remote in `git branch -r `; do git branch --track $remote; done

    您可以查看answer,了解从 Visual Studio 启动命令提示符的方法

    【讨论】:

      猜你喜欢
      • 2014-07-29
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 2019-02-05
      • 2017-08-07
      • 2011-05-08
      • 2021-01-28
      • 2014-02-03
      相关资源
      最近更新 更多