远程无法完全删除的状态如何恢复?

问题描述 投票:0回答:1

我已经运行了

git remote remove origin
,但是遥控器
origin
没有完全删除。

现在,当我运行

git remote -v
时,它会列出
origin
,但旁边没有给出任何 URL。

所有其他

git remote
命令都会告诉我
error: No such remote: 'origin'

origin
中没有提及
.git/config

我尝试重新添加

origin
遥控器,然后从中获取,然后再次将其删除。这些命令全部成功,但它们让我处于相同的状态。

有什么想法可以让 git 忘记这个

origin
远程吗?

[背景:该存储库使用

git-lfs
,当从
smudge filter lfs failed
(主要公司存储库)合并/变基时,我经常收到
upstream
错误,我发现的唯一解决方法是删除所有遥控器,重新添加
upstream
,获取,然后在添加回任何其他遥控器之前进行合并/变基。这个顽固的损坏的遥控器正在阻止此过程的工作。]

git git-remote
1个回答
0
投票

git 将其所有元数据存储在存储库的

.git
子目录中。如果我们能在该目录中找到正确的位置进行编辑,我们应该能够修复您的存储库。

你可以在git书中找到一些关于信息如何存储的信息: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain

经过一番探索后,我建议查看几个地方:

  • .git/config
    :每个遥控器都有一个部分。如果有origin部分,删除它。
  • .git/refs/remotes
    :每个远程都有一个目录,该远程中的每个分支都有一个文件。如果有一个叫origin的目录,删除它。

实际的存储库数据存储在

.git/objects
中。只要您不开始删除该目录中的文件,您就不会丢失存储库内容:)

© www.soinside.com 2019 - 2024. All rights reserved.