【问题标题】:Created files in Unity are not added to the git (Rider) automatically在 Unity 中创建的文件不会自动添加到 git (Rider)
【发布时间】:2019-04-01 08:33:14
【问题描述】:

当我在 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 应该自动跟踪这个文件。

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

【问题讨论】:

  • 尝试使用命令行。也许还显示git status 的输出?
  • >尝试命令行 你的意思是尝试使用命令行添加新文件?也不是很方便……
  • 方便吗?我想帮你解决一个问题。有一个问题,帮助解决它的最佳方法是使用命令行。
  • 谢谢,但问题是这样以后会包含很多手工工作。假设我想将一个文件夹的所有内容移动到项目的另一部分 - 我必须 git add 该文件夹中的所有文件 - 实际上会很烦人:)
  • 问题不在于我无法将文件添加到 git,而是文件不会自动添加到 git,我必须手动添加它们 - 无论是从 Rider IDE 还是从控制台 @987654326 @

标签: c# git unity3d rider


【解决方案1】:

我已将 Unity 与 Rider 一起使用,但我目前不知道使用 Rider 原生功能的解决方案。

但是您可以通过使用 CLI(命令行界面)并使用以下命令一次性(而不是一个一个地)添加所有文件来解决该问题:

git add --all

这确实“要求”您拥有一个像样的.gitignore,这样您就不会包含臃肿的 Unity 和 Rider 文件。

这是一个例子:.gitignore

您可能需要根据自己的西装对其进行一些定制;如果您使用git add --all,您可以通过使用git status 命令轻松检查将包含哪些文件,该命令应该为您提供必要的信息来识别您需要添加到.gitignore 的排除模式

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      替换

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

      通过

      !/[Aa]ssets/**/[\w\ \d\.]*.meta
      

      根据this link 我发现。它说

      文件可以包含当前模式无法捕获的空格。 示例:Assets/Plugins/My Plugin.meta

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-14
        • 1970-01-01
        • 2012-01-13
        • 2014-10-19
        • 2022-10-19
        • 2022-10-04
        • 2017-04-16
        • 1970-01-01
        相关资源
        最近更新 更多