git“lfs”和“hooks”文件夹是否应该位于 .git 文件夹之外?

Jaw*_*wap 2 git git-lfs

我已经开始在 Unity 项目中使用 git-lfs。安装 git-lfs 并提交一些资源文件后,一切似乎都工作正常。现在我注意到我的工作目录中有一些名为的文件夹lfs,但hooks它们不在该.git目录内。当我执行git statusgit 操作时,会将这些文件夹内的文件列为未跟踪的新文件。这不是它应该如何工作的,对吧?有什么想法可能导致此问题以及我应该检查什么吗?

这是输出:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        deleted:    Assets/Scripts/PlayerController/FOVKick.cs
        deleted:    Assets/Scripts/PlayerController/LerpControlledBob.cs

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    Assets/Scripts/PlayerController/FOVKick.cs.meta
        deleted:    Assets/Scripts/PlayerController/LerpControlledBob.cs.meta

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        hooks/
        lfs/
Run Code Online (Sandbox Code Playgroud)

这是项目根目录中的 .gitattributes 文件:

## Unity ##

*.cs diff=csharp text
*.cginc text
*.shader text

*.mat merge=unityyamlmerge eol=lf
*.anim merge=unityyamlmerge eol=lf
*.unity merge=unityyamlmerge eol=lf
*.prefab merge=unityyamlmerge eol=lf
*.physicsMaterial2D merge=unityyamlmerge eol=lf
*.physicsMaterial merge=unityyamlmerge eol=lf
*.asset merge=unityyamlmerge eol=lf
*.meta merge=unityyamlmerge eol=lf
*.controller merge=unityyamlmerge eol=lf


## git-lfs ##

# Image
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.ai filter=lfs diff=lfs merge=lfs -text

# Audio
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text

# Video
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text

# 3D Object
*.FBX filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text

# Other
*.a filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.dll filter=lfs diff=lfs merge=lfs -text
*.unitypackage filter=lfs diff=lfs merge=lfs -text
*.aif filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.rns filter=lfs diff=lfs merge=lfs -text
*.reason filter=lfs diff=lfs merge=lfs -text
*.lxo filter=lfs diff=lfs merge=lfs -text
Run Code Online (Sandbox Code Playgroud)

Jaw*_*wap 5

找到了罪魁祸首。

这是由 IDE 使用未安装 git-lfs 的不同 git 可执行文件引起的。

  • 您是如何在 IDE 上更新 git-lfs 的? (3认同)