是否应该将 stack.yaml.lock 检查到源代码管理中?

Should stack.yaml.lock be checked into source control?

自堆栈 v2 以来,stack 生成一个 stack.yaml.lock 文件。

是否应该将此文件提交给源代码管理,?还是应该 .gitignored?

一方面,它是生成的内容而不是源代码,另一方面,它包含来自 Hackage 的依赖项的哈希值,因此对于安全可重现的构建是必要的..

应该签入 - 不这样做会使文件的全部用途无效(对于 .lock 文件通常如此)

是的。这是锁定文件存在的部分原因:可重现的构建。

These files can be stored in source control Users on other machines can reuse these lock files and get identical build plans given that the used local packages and local snapshots are the same on those machines

https://docs.haskellstack.org/en/stable/lock_files/#lock-files