【问题标题】:Is it possible to recover from commiting the .metadata folder of an eclipse based IDE to git?是否可以从将基于 Eclipse 的 IDE 的 .metadata 文件夹提交到 git 中恢复?
【发布时间】:2020-04-26 13:23:22
【问题描述】:

我正在为 STM32 微控制器使用 ST 的 IDE,STM32Cube。它基于 Eclipse,只是为使用微控制器添加了额外的附加功能。我犯了一个明显的致命错误,即在创建存储库时没有立即将 .metadata 文件夹添加到 gitignore。这一直很好,直到我尝试恢复到以前的提交,在此之后,我在文本和二进制文件上遇到了无数的随机合并冲突,主要是在 .metadata 文件夹中。我试图从存储库中删除 .metadata 文件夹,但 git 固执地拒绝忽略它,尽管使用了这些答案中描述的方法:

https://stackoverflow.com/a/4308645/6181778
https://stackoverflow.com/a/30360954/6181778
https://stackoverflow.com/a/2163926/6181778(用于解决所谓的合并冲突)

就合并冲突而言,它们没有任何意义,因为我是存储库的唯一贡献者,因此不可能提交两个不同版本的文件。 Git 现在已经在我所有的文件中插入了一堆合并冲突的东西(其中大部分甚至没有两个部分,只有一个没有分隔符的头部和尾部),并且 STCube 拒绝启动因此。有什么办法可以从中恢复,还是我只需要尝试挽救我的代码并启动一个新的存储库?

【问题讨论】:

    标签: eclipse git


    【解决方案1】:

    您提到这发生在恢复到之前的提交之后。 我怀疑您需要先撤消该还原:

    git reset --hard commit-before-revert

    然后按照您链接到的说明进行操作:

    步骤 1. 将文件夹路径添加到你的 repo 的根 .gitignore 文件中。

    path_to_your_folder/

    第 2 步。从本地 git 跟踪中删除该文件夹,但将其保留在磁盘上。

    git rm -r --cached path_to_your_folder/

    第 3 步。将您的更改推送到您的 git 存储库。

    此时进行还原应该是安全的,因为 git 现在会忽略 .metadata 文件夹。

    【讨论】:

      猜你喜欢
      • 2013-01-23
      • 2021-06-20
      • 1970-01-01
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 2019-06-18
      相关资源
      最近更新 更多