haypin@MBP ~/cpp_cmake_js_java_python main ✚ git add *
haypin@MBP ~/cpp_cmake_js_java_python main ✚ find . \( -ipath './js*' -o -ipath '*build*' -o -ipath '*idea*' \) -a -not -ipath '*venv*' -a -print|xargs git rm --cached
fatal: 未提供 -r 选项不会递归删除 './js'
fatal: 未提供 -r 选项不会递归删除 './js/myExpressApp/node_modules/core-js/es6'
# 但git rm <dir>时会报错未提供 -r 选项不会递归删除目录,不能单独git rm <dir>而保留目录下的文件,如果改成git rm -r则会发生先git rm上层目录,然后git rm 上层目录下文件而发生“未匹配任何文件”的错误
解决办法:
将find查找结果存到文件,然后tail -r <file>逆序输出,管道给git rm -r就可以“后序”访问目录-文件节点而不会发生先git rm上层目录后git rm目录下文件的问题:
haypin@MBP ~/cpp_cmake_js_java_python main ✚ find . \( -ipath './js*' -o -ipath '*build*' -o -ipath '*idea*' \) -a -not -ipath '*venv*' -a -print >> temp
haypin@MBP ~/cpp_cmake_js_java_python main ✚ head temp
./js
./js/myExpressApp
./js/myExpressApp/bin
./js/myExpressApp/bin/www
./js/myExpressApp/node_modules
./js/myExpressApp/node_modules/constantinople
./js/myExpressApp/node_modules/constantinople/LICENSE
./js/myExpressApp/node_modules/constantinople/test
./js/myExpressApp/node_modules/constantinople/test/index.js
./js/myExpressApp/node_modules/constantinople/README.md
。。。
haypin@MBP ~/cpp_cmake_js_java_python main ✚ tail -r temp
。。。
./js/myExpressApp/node_modules/constantinople/lib
./js/myExpressApp/node_modules/constantinople/.gitattributes
./js/myExpressApp/node_modules/constantinople/.prettierrc
./js/myExpressApp/node_modules/constantinople/package.json
./js/myExpressApp/node_modules/constantinople/README.md
./js/myExpressApp/node_modules/constantinople/test/index.js
./js/myExpressApp/node_modules/constantinople/test
./js/myExpressApp/node_modules/constantinople/LICENSE
./js/myExpressApp/node_modules/constantinople
./js/myExpressApp/node_modules
./js/myExpressApp/bin/www
./js/myExpressApp/bin
./js/myExpressApp
./js
haypin@MBP ~/cpp_cmake_js_java_python/js main ✚ tail -r temp|xargs git rm --cached -r
。。。
rm 'js/myExpressApp/node_modules/yargs/package.json'
rm 'js/myExpressApp/package-lock.json'
rm 'js/myExpressApp/package.json'
rm 'js/myExpressApp/public/stylesheets/style.css'
rm 'js/myExpressApp/routes/index.js'
rm 'js/myExpressApp/routes/users.js'
rm 'js/myExpressApp/views/error.pug'
rm 'js/myExpressApp/views/index.pug'
rm 'js/myExpressApp/views/layout.pug'