版本控制中未出现的文件:Unity + Git

时间:2016-07-02 04:57:49

标签: git unity3d version-control

我有一个Unity项目,我已将其设置为使用Git。

然而它只是有点工作。它看到一些文件和文件夹并提交它们。但是它完全忽略了其他文件。

例如,我有一个ScriptableObjects文件夹。我在此文件夹中添加的任何项目都不会在我的版本控制中显示为新的/更改的文件。

其他文件夹可以正常工作,但此子文件夹中没有任何内容。

我的.ignore中不会忽略此文件夹。

我还更改了Unity以显示Visible Meta Files版本控制。

无法取消跟踪新文件,并且不会忽略其创建的文件夹。

在版本控制之前,我从未见过这样的问题。您是否有任何想法为什么我的新文件没有出现在某些文件夹的版本控制中?

我的忽略

Library/
Temp/
Obj/
Build/

# Autogenerated VS/MD solution and project files
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.csv#
*.*.csv#


# Unity3D generated meta files


# Unity3D Generated File On Crash Reports
sysinfo.txt

# Builds
*.apk
*.unitypackage

更新

运行git ignore检查新文件会产生以下内容

  

$ git check-ignore -v -   /c/Users/a/Desktop/proj/Assets/Resources/ScriptableObjects/Cards/Helmets/NewFile.asset   " C:\用户\一个\ OneDrive \文件\ gitignore_global.txt":25:资产/资源/ ScriptableObjects /   C:/Users/antho/Desktop/proj/Assets/Resources/ScriptableObjects/Cards/Helmets/NewFile.asset

1 个答案:

答案 0 :(得分:2)

要轻松检查.gitignore是否有责任,只需执行(使用最近版本的git):

git check-ignore -v -- path/to/ScriptableObjects/ 
git check-ignore -v -- path/to/ScriptableObjects/aNewFile 

这将显示正确的.gitignore(或.git/info/exclude),其中包含不包含该文件夹及其内容的规则。

通常,被忽略的文件仍可添加强制-f):

git add -f /path/to/ignored/file

在OP的案例中:

C:\Users\a\OneDrive\Documents\gitignore_global.txt

检查global config, as I mentioned before here

另一种可能性是文件夹及其文件是嵌套git仓库或子模块的一部分。
寻找:

  • 主回购中的.git文件夹
  • 或主仓库中的.gitmodules文件。