songyuc头像
关注

FluxVLA学习笔记

Notes

.gitignore 规则过宽导致CUDA源码遗漏

在代码同步时,我发现:本地存在的CUDA扩展源码,没有出现在远端检出的代码中
排查后发现,问题发生在将解压后的源码导入新Git仓库的环节。根目录.gitignore中有一条规则:

src/

它不仅会忽略根目录的 src/,还会匹配嵌套的同名目录,例如:

fluxvla/ops/cuda/gemma_rotary_embedding/src/

因此,这些尚未被Git跟踪的C++和CUDA 源文件被忽略,没有进入提交;而 setup.py 仍然引用它们,导致提交中的文件不足以满足构建要求。

为什么直接克隆官方仓库可能没有问题?

.gitignore 只影响未跟踪文件,已经被 Git 跟踪的文件不受影响。

因此,同一条规则在两种场景下表现不同:

  • 直接克隆已有仓库:提交中已经包含的源码仍会被检出。
  • 解压源码快照后新建仓库:文件最初都是未跟踪状态,可能在首次添加时被忽略。

这也解释了为什么“本地有文件”“两端提交一致”,仍不足以证明源码交付完整。Git 官方规则说明

如何定位?

在仓库根目录,针对一个缺失文件执行:

git check-ignore -v fluxvla/ops/cuda/gemma_rotary_embedding/src/gemma_rotary_embedding_forward.cpp

这条命令用于查看命中的忽略规则及其来源。

再检查文件是否进入索引和当前提交:

git ls-files -- fluxvla/ops/cuda/gemma_rotary_embedding/src/gemma_rotary_embedding_forward.cpp

git ls-tree -r HEAD -- fluxvla/ops/cuda/gemma_rotary_embedding/src/gemma_rotary_embedding_forward.cpp

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/songyuc/article/details/166234481

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--