我使用cargo new
创建了一个“hello world”Rust应用程序。当我执行git status
时,它显示了一堆文件:
A rust/welcomec/Cargo.lock
A rust/welcomec/Cargo.toml
A rust/welcomec/src/main.rs
A rust/welcomec/target/debug/.cargo-lock
A rust/welcomec/target/debug/.fingerprint/welcomec-2d68725c8fae6fd1/bin-welcome-2d68725c8fae6fd1
A rust/welcomec/target/debug/.fingerprint/welcomec-2d68725c8fae6fd1/bin-welcome-2d68725c8fae6fd1.json
A rust/welcomec/target/debug/.fingerprint/welcomec-2d68725c8fae6fd1/dep-bin-welcome-2d68725c8fae6fd1
A rust/welcomec/target/debug/deps/welcome-2d68725c8fae6fd1
A rust/welcomec/target/debug/welcome
A rust/welcomec/target/debug/welcome.d
我可以安全地忽略这些文件和/或目录吗?
2条答案
按热度按时间svujldwt1#
摘要
.gitignore
用于可执行文件箱.gitignore
用于库箱详情
您可以始终完全忽略
target/
文件夹。它只包含生成的文件(例如,编译工件),并且通常也相当大。如果你正在开发一个可执行的程序,那就已经是了!只有一个入口。
对于库项目,您可能还希望忽略
Cargo.lock
。但这有点微妙。官方对此事的立场was changed recently。Cargo.lock
支持可重现的构建,因为它记录了所有依赖项的确切版本。这是非常有用。对于可执行文件,你绝对需要那些可复制的构建,因此上面的建议。重要的是要明白,如果一个项目使用你的库,你的
Cargo.lock
将被忽略!Cargo只关心依赖项的Cargo.toml
。所以Cargo.lock
是否在您的存储库中基本上只与您的库开发有关。Cargo.lock
的论点。Cargo.lock
为您提供了与其他项目相同的好处:可复制的构建意味着稳定的CI,更容易平分,等等。最后,你决定。但请放心:你不能真的搞砸了无论哪种方式通常都很好。
注意:
cargo new
应该已经为您创建了一个适当的.gitignore
文件。c7rzv4ha2#
你可以从GitHub's gitignore for Rust中获得一些灵感。在撰写本文时,文件如下: