我的存储库使用git LFS并在其.gitattributes中包含这样的行:
*.jar filter=lfs diff=lfs merge=lfs -text
我想直接在repo中存储一个.jar文件,不涉及LFS。理想情况下,我会使LFS不适用于包含该jar的目录下的任何内容。有没有办法做到这一点?
答案 0 :(得分:2)
这个答案是largely sourced from this github comment
.gitattributes
的语法允许您使用"减去"一个属性 - 将其从已包含的内容中删除(请参阅:https://git-scm.com/docs/gitattributes#gitattributes-Unset)
这允许您取消先前包含的文件(来自github线程的示例):
*.asset filter=lfs diff=lfs merge=lfs -text
Assets/Resources/*.asset -filter=lfs -diff=lfs -merge=lfs -text
答案 1 :(得分:0)
查看此主题:Track all files in a directory to git LFS but ignore a single folder present in that directory
TL; DR,除非你移动文件夹,否则它是不可能的,或者对每个子目标使用git lfs track
。
答案 2 :(得分:0)
与此类似的东西对我们来说是有效的。
*.asset filter=lfs diff=lfs merge=lfs -text
TheAssetIWantToExclude.asset !filter !diff !merge -text
今天是git version 2.17.1.windows.2
的。 Anthony Sottile的github链接中的进一步评论提供了此答案。
对于我们使用的现有文件
git rm --cached TheAssetIWantToExclude.asset
git add TheAssetIWantToExclude.asset
git commit
将文件复制到仓库。