我正在将ST的IDE用于STM32微控制器STM32Cube。它基于eclipse,仅包含用于微控制器的其他附加功能。我犯了一个明显的致命错误,即在创建存储库时没有立即将.metadata文件夹添加到gitignore中。在我尝试恢复到先前的提交之前,此方法一直很好,在此之前,我在文本文件和二进制文件(主要是.metadata文件夹)中都遇到了许多随机合并冲突。我试图从存储库中删除.metadata文件夹,但是git顽固地拒绝忽略它,尽管使用了这些答案中描述的方法:
https://stackoverflow.com/a/4308645/6181778https://stackoverflow.com/a/30360954/6181778https://stackoverflow.com/a/2163926/6181778(用于解决所谓的合并冲突)
就合并冲突而言,它们没有任何意义,因为我是存储库的唯一贡献者,因此不可能提交两个不同版本的文件。 Git现在已经在我的所有文件中插入了一堆合并冲突的内容(其中大多数甚至没有两个部分,只是一个头和尾没有分隔符),因此STCube拒绝启动。有什么办法可以从中恢复,还是我只需要尝试挽救我的代码并启动新的存储库?
您提到,这是在还原到先前的提交之后发生的。我怀疑您需要先撤消该还原操作:
git reset --hard commit-before-revert
然后按照您链接的说明进行操作:
步骤1.将文件夹路径添加到您的仓库的根.gitignore文件中。
路径到您的文件夹/
步骤2.从本地git跟踪中删除文件夹,但将其保留在磁盘上。
git rm -r --cached path_to_your_folder /
步骤3.将您的更改推送到git存储库。
这时应该可以安全地还原,因为git现在将忽略.metadata文件夹。