如何在git中的目录中添加一些特定文件?

时间:2018-04-21 08:45:08

标签: node.js git

./main
  ../firstDirectory 
    ../file_A.js
    ../file_B.js
    ../file_C.js
    ../file_D.js
    ../file_E.js

我尝试创建的脚本只会添加某些目录中特定文件的更改,例如file_Afile_Cfile_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

我正在寻找动态解决方案(模式),因此如果考虑将来添加更多文件,我将不必更新脚本。

我已经尝试了很多,但无法得出答案。我将不胜感激任何帮助。

1 个答案:

答案 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