You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何在Git中添加目录内特定文件?(含package.json脚本配置)

解决Git仅添加指定文件变更的问题

没问题,我来帮你搞定这个需求——要精准添加file_A.jsfile_C.jsfile_E.js这几个文件的变更,而不是所有JS文件,有几个简单可靠的方法:

方法1:直接列出具体文件路径(最直观稳妥)

既然你要的文件数量不多,直接把每个文件的完整路径写在git add后面就可以了,完全不会出错。修改你package.json里的scripts:

"scripts": {
  "add": "git add ../file_A.js ../file_C.js ../file_E.js"
}

如果这些文件其实是在./main/firstDirectory目录下,就把路径换成对应的:

"scripts": {
  "add": "git add ./main/firstDirectory/file_A.js ./main/firstDirectory/file_C.js ./main/firstDirectory/file_E.js"
}

方法2:使用Shell大括号扩展(更简洁)

如果你用的是Unix-like Shell(比如macOS的zsh、Linux的bash)或者Git Bash,Shell支持大括号扩展,可以用更简洁的写法批量指定文件名:

"scripts": {
  "add": "git add ../file_{A,C,E}.js"
}

这个写法会被Shell自动展开成../file_A.js ../file_C.js ../file_E.js,效果和方法1完全一样,但更清爽。

注意Windows环境的兼容性

如果你的项目需要在Windows的CMD环境下运行,CMD不支持大括号扩展,这时候方法1的直接列文件方式会更可靠,或者你可以改用PowerShell执行脚本(PowerShell支持类似的语法)。

为什么你之前用git add ./main/firstDirectory/*.js会添加所有文件?因为*.js是通配符,会匹配目录下所有后缀为.js的文件,而上面的两种方法都是精准定位到你需要的特定文件,自然就不会把其他JS文件加进去啦。

内容的提问来源于stack exchange,提问作者Max Doung

火山引擎 最新活动