./main
../firstDirectory
../file_A.js
../file_B.js
../file_C.js
../file_D.js
../file_E.js
我尝试创建的脚本只会添加某些目录中特定文件的更改,例如file_A
,file_C
和file_E
在package.json
中"scripts": {
add: "git add <path pattern>"
}
我尝试了类似git add ./main/firstDirectory/*.js
的内容,但这会添加所有文件。是否有我可以指定的路径模式,git add
只知道添加特定文件的更改?
更新: 虽然这有效:
git add main/firstDirectory/file_A.js main/firstDirectory/file_C.js main/firstDirectory/file_E.js
我正在寻找动态解决方案(模式),因此如果考虑将来添加更多文件,我将不必更新脚本。
我已经尝试了很多,但无法得出答案。我将不胜感激任何帮助。
答案 0 :(得分:0)
尝试
git -C ./main/firstDirectory add '*.js'
由于-C
选项在正确的文件夹中执行了cd,因此不带引号的*.js
也可以正常工作。
请参阅&#34; “git add” using wildcard is not functioning as I hoped - must I cd into specific directories?&#34;。
只有在更改后才会添加所有文件。
但是如果你想保留其他文件未跟踪(意味着从不首先添加它们),那么你可以将要监控的文件列入白名单:
在该文件夹中写入.gitignore:
*
!file_A
!file_C
!file_D
!file_E
这样,即使其他文件发生变化,也不会被*.js
添加。
确保不跟踪这些文件:
cd main/firstDirectory
git rm --cached -- *.js