在 Unity 中创建的文件不会自动添加到 git (Rider)

当我在 Unity 编辑器中创建文件或将已创建的文件移动到另一个文件夹等时 - 默认情况下这些文件不会添加到 git。我必须在 Rider IDE 中手动将它们添加到 git。当我想重构项目结构或添加一些预制件和资产等时,这变得非常烦人。


在 Rider 设置 -> 版本控制 -> 确认中,我尝试了“静音:”和“显示选项...”选项,但无济于事。此外,如果我在 Rider 项目结构中创建文件,它将默认添加。


.gitignore 文件:


# This .gitignore file should be placed at the root of your Unity project directory


/[Ll]ibrary/

/[Tt]emp/

/[Oo]bj/

/[Bb]uild/

/[Bb]uilds/

/[Ll]ogs/


# Never ignore Asset meta data

!/[Aa]ssets/**/*.meta


# Uncomment this line if you wish to ignore the asset store tools plugin

# /[Aa]ssets/AssetStoreTools*


# TextMesh Pro files

[Aa]ssets/TextMesh*Pro/


# Visual Studio cache directory

.vs/


# Gradle cache directory

.gradle/


# Autogenerated VS/MD/Consulo solution and project files

ExportedObj/

.consulo/

*.csproj

*.unityproj

*.sln

*.suo

*.tmp

*.user

*.userprefs

*.pidb

*.booproj

*.svd

*.pdb

*.mdb

*.opendb

*.VC.db


# Unity3D generated meta files

*.pidb.meta

*.pdb.meta

*.mdb.meta


# Unity3D generated file on crash reports

sysinfo.txt


# Builds

*.apk

*.unitypackage


# Crashlytics generated file

crashlytics-build.properties

git status命令(当我将整个文件夹标记为要添加到 git 时出现此问题时,.meta 文件已添加到 git):


        new file:   Assets/Scripts/CatLikeLegacy.meta

        new file:   Assets/Scripts/CatLikeLegacy/EdgeVertices.cs.meta

        new file:   Assets/Scripts/CatLikeLegacy/FireTrail.cs.meta



... etc. meta files


Untracked files:

  (use "git add <file>..." to include in what will be committed)


        .idea/

        .vscode/

        Assets/Build.meta

        Assets/Build/provinces.png.meta

        Assets/Build/provincesReference.png.meta

        Assets/Materials.meta


...etc ignored files .meta in common

当文件创建或移动时,git 应该自动跟踪这个文件。


UPD: 尝试在 Unity 中创建新的干净项目并从 Rider 添加 git 系统 - 这个问题仍然存在,Rider 不会自动跟踪新文件(标记为红色)。


BIG阳
浏览 286回答 3
3回答

扬帆大鱼

我已经将 Unity 与 Rider 一起使用,但我目前不知道使用 Rider 原生功能的解决方案。但是您可以通过使用 CLI(命令行界面)并一次添加所有文件(而不是一个接一个地添加)来解决该问题:git&nbsp;add&nbsp;--all这确实“要求”你有一个体面的.gitignore,所以你不包括膨胀的 Unity 和 Rider 文件。这是一个这样的例子:.gitignore您可能需要根据自己的喜好对其进行一些定制;git add --all你可以很容易地检查如果你使用命令会包含哪些文件git status,它应该给你必要的信息来识别你需要添加到你的排除模式.gitignore

慕丝7291255

正如我从https://youtrack.jetbrains.com/issue/IDEA-52058&nbsp;thx 到 @evolutionxbox 看到的那样,JetBrains 产品尚未实现此功能 - 这使得此 IDE 中的统一工作流程非常烦人。很遗憾。

慕运维8079593

代替!/[Aa]ssets/**/*.meta经过!/[Aa]ssets/**/[\w\&nbsp;\d\.]*.meta根据我发现的这个链接。它说文件可以包含空格,当前模式不捕获这些空格。例子:&nbsp;Assets/Plugins/My Plugin.meta
打开App,查看更多内容
随时随地看视频慕课网APP