gpt4 book ai didi

git - 如何使 `git add` 与 `xargs` 一起工作

转载 作者:太空狗 更新时间:2023-10-29 14:36:53 25 4
gpt4 key购买 nike

xargs 适用于 dos2unix,但不适用于 git add。 为什么?

$ git status -s -uno | sed -n 's/^...//p' | xargs dos2unix -u
dos2unix: converting file Server.C to UNIX format ...
dos2unix: converting file Proxy.C to UNIX format ...
dos2unix: converting file Proxy.H to UNIX format ...

$ git status -s -uno
M Server.C
M Proxy.C
M Proxy.H

$ git status -s -uno | sed -n 's/^...//p'
Server.C
Proxy.C
Proxy.H

$ git status -s -uno | sed -n 's/^...//p' | xargs git add
xargs: git: No such file or directory

我应该怎么做才能使 xargsgit add 一起工作?

最佳答案

git status -s -uno | sed -n 's/^...//p' | xargs git add 是正确的,并且在我测试时有效。

相关错误信息其实是git: No such file or directory。 IE。未找到 git 命令,因此请尝试使用 ...之类的东西对其进行调试 | xargs echo $PATH 查看 xargs 进程中的 $PATH 是什么。

此外,正如您编写的那样,它提供了与

相同的 git 调用
git add `git status -s -uno | sed -n 's/^...//p'`

git add Server.C Proxy.C Proxy.H 在你的例子中(尝试使用 ... | xargs echo 而不是 ... | xargs git add)

如果出于某种原因(你可以给 git 多少个文件名作为参数?),你想要单独的 git add 调用你需要使用

... | xargs -L1 git add

使 xargs 使用每一行作为单独 git add 的参数

关于git - 如何使 `git add` 与 `xargs` 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37931059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com