我正在尝试运行一个曾经可以工作的 git bash 命令,但最近失败了。我不知道从那时到现在有什么变化(没有新的 git d/l)。
这是命令参考: git status | grep '已删除:' | cut -d':' -f2 | xargs -t -I {} git add -u "{}"
现在我想劫持它的尾端,以便我可以将多个文件输入到 git 命令中。git status .. 未跟踪的文件:(使用“git add ...”包含在将提交的内容中) Docs/collisions_bbox_08232021.jpg Docs/collisions_bbox_08232021.psd Fml/collisions_082321.flt Fml/scaleRef/sscalen_Refmlfml/sg sgn_wrong_way_do_not_enter_Low_3f_scale.flt ..
我的命令: $ git status | grep Fml Fml/collisions_082321.flt Fml/scaleRef/sgn_one_way_Low_2f_scale.flt Fml/scaleRef/sgn_wrong_way_do_not_enter_Low_3f_scale.flt
这是问题所在:
xxx MINGW64 /e/sss/ProjectData (master)
$ git status | grep Fml | xargs -t -I {} git add -u "{}"
git add -u ''$'\033''[31mFml/collisions_082321.flt'$'\033''[m'
fatal: pathspec '?[31mFml/collisions_082321.flt?[m' did not match any files
git add -u ''$'\033''[31mFml/scaleRef/sgn_one_way_Low_2f_scale.flt'$'\033''[m'
fatal: pathspec '?[31mFml/scaleRef/sgn_one_way_Low_2f_scale.flt?[m' did not match any files
git add -u ''$'\033''[31mFml/scaleRef/sgn_wrong_way_do_not_enter_Low_3f_scale.flt'$'\033''[m'
fatal: pathspec '?[31mFml/scaleRef/sgn_wrong_way_do_not_enter_Low_3f_scale.flt?[m' did not match any files
Run Code Online (Sandbox Code Playgroud)
谷歌没有帮助,也许 b/c 它正在处理特殊字符。知道 git(命令处理器?)正在破坏我的输入是怎么回事吗?如何重新格式化命令字符串以使其正常工作?
谢谢检查。
你不应该解析git statususe的输出git status --porcelain,像这样列出了已删除的文件:
git status --porcelain | sed -n 's/^.D.//p'
Run Code Online (Sandbox Code Playgroud)
对于未跟踪的文件,您将使用:
git status --porcelain | sed -n 's/^??.//p'
Run Code Online (Sandbox Code Playgroud)