我已经运行了
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
子目录中。如果我们能在该目录中找到正确的位置进行编辑,我们应该能够修复您的存储库。
你可以在git书中找到一些关于信息如何存储的信息: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain
经过一番探索后,我建议查看几个地方:
.git/config
:每个遥控器都有一个部分。如果有origin部分,删除它。.git/refs/remotes
:每个远程都有一个目录,该远程中的每个分支都有一个文件。如果有一个叫origin的目录,删除它。实际的存储库数据存储在
.git/objects
中。只要您不开始删除该目录中的文件,您就不会丢失存储库内容:)