git没有正确忽略Unity文件

时间:2016-11-22 23:48:17

标签: git unity3d gitignore git-status

我和Unity一起工作,由于我在几个地方读到的内容,我们将以下几行放入.gitignore

# =============== #
# Unity generated #
# =============== #
[Tt]emp/
[Oo]bj/
[Bb]uild
[Ll]ibrary/
sysinfo.txt
*.stackdump

# ============================================= #
# Visual Studio / MonoDevelop / Rider generated #
# ============================================= #
[Ee]xported[Oo]bj/
.vs/
/*.userprefs
/*.csproj
/*.pidb
/*.suo
/*.sln*
/*.user
/*.unityproj
/*.booproj
/.idea*/

# ============ #
# OS generated #
# ============ #
.DS_Store*
._*
.Spotlight-V100
.Trashes
ehthumbs.db
[Tt]humbs.db
[Dd]esktop.ini

当我克隆项目时,工作目录是干净的,但是当我在Unity中打开这个项目时,我看到git status中有大量文件被标记为已更改: git status

为什么要添加这些文件,即使它们位于.gitignore

2 个答案:

答案 0 :(得分:3)

在创建.gitignore文件之前,是否有机会添加它们?

如果是,请删除它们:

git rm --cached [file]

之后,使用更改进行新的提交。也就是说,从那时起它们将被移除并且不会被追踪。

答案 1 :(得分:1)

那是经典之作!如果您在git开始跟踪文件后添加了一个gitignore,它将不会释放它已经跟踪的文件。您需要通过执行以下操作来“重置”它:

git rm -r --cached .
git add .
git commit -m "Gitignore now working!"

将照顾一切。 HOWEVER 确保在执行此操作之前提交任何更改,否则将被删除。