如何在.gitignore中忽略Rust编译生成的无扩展名可执行文件?
嘿,这个问题我太熟悉了!刚学Rust的时候我也被rustc生成的无扩展名可执行文件困扰过,其实用.gitignore很容易解决,给你几个实用的方案:
方案一:针对所有Chapter目录的通用规则(推荐)
如果你的项目结构是project/chapter1、project/chapter2这类,直接在项目根目录(也就是project所在的目录)创建或编辑.gitignore文件,添加以下规则:
# 忽略所有chapter目录下的非Rust源文件 project/chapter*/**/* !project/chapter*/**/*.rs !project/chapter*/**/
解释一下这些规则:
project/chapter*/**/*:匹配所有以chapter开头的目录下的所有文件!project/chapter*/**/*.rs:排除其中所有.rs结尾的源文件,确保这些文件会被提交!project/chapter*/**/:保留目录结构,避免Git忽略整个目录
方案二:单个Chapter目录单独配置
如果每个Chapter目录是独立的,你可以在每个chapterX目录下单独创建.gitignore文件,内容如下:
# 忽略当前目录下的无扩展名可执行文件 * !*.rs !.gitignore
这样每个Chapter目录里只会保留.rs源文件和.gitignore本身,自动忽略编译生成的无扩展名可执行文件。
方案三:精准忽略特定可执行文件
如果你每个Chapter里的源文件名固定(比如都是main.rs),也可以直接指定忽略编译后的同名文件:
# 忽略chapter1编译出的main可执行文件 project/chapter1/main # 忽略chapter2编译出的main可执行文件 project/chapter2/main
不过这个方案灵活性差,适合源文件名固定的小练习。
最后别忘了把.gitignore文件本身提交到仓库里,这样你的规则才能生效哦!
内容的提问来源于stack exchange,提问作者user51
相关产品推荐
相关产品推荐

