首页 > 解决方案 > 提取不相关的回购后如何修复我的回购?

问题描述

当我试图让 ssh 在 GIT 中工作时,我犯了一个灾难性的错误。

我实际上将错误的 url 从服务器复制到了该存储库的配置文件中。因此,我放入配置文件中的 url 是一个不同但名称相似的 repo。

现在,我无法解决问题。

在 bash 提示符的末尾,它具有:GIT_DIR!|MERGING

我已取消暂存并删除了所有内容。

如果我尝试对提交哈希进行硬重置,我会收到错误消息fatal: this operation must be run in a work tree

知道是否可以彻底清理它吗?

谢谢

标签: git

解决方案


从您问题中的信息来看:您的回购目前处于合并的一半,由于冲突而没有完成(提醒:git pull是一个快捷方式git fetch && git merge,所以这是一个完全合理的状态,它只是意味着“合并远程更改”需要一些人工注意)。

您可以通过运行返回到合并之前的提交:

git merge --abort

之后,您可以修复遥控器的网址:

# I guess your remote is 'origin', use the correct remote name otherwise
git remote set-url origin ssh://correct url

更新您的遥控器视图:

git fetch

从那里,您应该处于非常干净的状态,并且能够看到需要还原哪些更改以及应该推送哪些更改。


推荐阅读