当所有不必要的meta lib或ext文件..等都已被推送时,如何保存unity git repo?

当所有不必要的meta lib或ext文件..等都已被推送时,如何保存unity git repo?,git,unity3d,Git,Unity3d,2年前我在学校做了一个游戏,但我没有添加.gitignore,也没有清理所有的元文件或扩展文件等。这导致了一个问题,当我试图回到项目并升级游戏时,所讨论的repo中充满了来自unity的不必要的本地文件,这使得git repo变得过多,这也阻止了我进一步对其进行任何更改。我现在已经添加了.git,但是已经太晚了,因为这些文件已经上传到git repo了。我不可能一个接一个地找到所有文件,检查它们是否是本机/元文件,并删除它们,因为有2000多个更改。 有人能帮我解决这个问题吗?您可以看到如何将存

2年前我在学校做了一个游戏,但我没有添加.gitignore,也没有清理所有的元文件或扩展文件等。这导致了一个问题,当我试图回到项目并升级游戏时,所讨论的repo中充满了来自unity的不必要的本地文件,这使得git repo变得过多,这也阻止了我进一步对其进行任何更改。我现在已经添加了.git,但是已经太晚了,因为这些文件已经上传到git repo了。我不可能一个接一个地找到所有文件,检查它们是否是本机/元文件,并删除它们,因为有2000多个更改。 有人能帮我解决这个问题吗?

您可以看到如何将存储库恢复到git中以前的状态。如果我理解正确,并且文件是通过升级Unity添加的,那么解决方案非常简单:在升级之前恢复到


如果您的存储库已经很拥挤,因为您从一开始就没有忽略不必要的数据,那么您必须删除不必要的数据,提交删除并将其推送到远程存储库。

您可以尝试以下方法之一:

方法1:创建一个新git,将旧的Unity项目下载到这个新git。这一次,在推送到github之前,首先添加.gitignore文件。 方法2:停止跟踪所有要忽略的文件夹。 要停止跟踪文件,需要将其从索引中删除。这个可以 可以用这个命令来实现

git rm --cached <file>
一些git GUI程序可以使这个过程更容易。我建议使用SourceTree

顺便说一下,不要忽略.meta文件,.meta文件是保持项目正常工作所必需的。Unity使用这些文件来定位文件所在的位置以及引用的资产


占用大量空间的大多数生成文件仅位于库文件夹中。你真的不必担心有太多的工作要做而忽略不必要的文件。如果您使用git GUI程序,看到不需要的文件更改弹出,只需右键单击它们并停止跟踪这些文件。

最简单的解决方案是:

添加一个.gitignore 使用git rm-r-cached删除所有cahed文件。 使用.git再次添加所有文件,仅忽略所需的文件 将与git add一起添加。 使用git Commit-m提交更改修复了未跟踪的文件 或者只需使用一体式呼叫:


git rm-r-缓存吉特增补,git commit-am修复了未跟踪的文件

它们太多了,我想确定哪一个需要几天时间。。。事情并非如此简单。很难在repo中找到所有lib meta etc文件并逐个删除它们。对于一台计算机来说,在文件夹x中找到所有.meta文件都很简单。Unity有一个明确指定的项目结构,允许删除其本机库文件lib和obj文件夹。为什么这么难?