`git commit` 重定向输出

`git commit` 重定向输出

我正在编写一个运行的脚本git commit。它需要/dev/stdout清理管道/cmd 替换。

在这种情况下,$EDITOR设置为nvim

$ git commit > /path/to/somewhere
hint: Waiting for your editor to close the file...
<I had to press Ctrl-C>

我认识到在管道传输过程中进行交互式会话是“不好的”,但我只打算用它来做这件事git commit

先感谢您!!

答案1

git commit需要提交消息才能工作。通常,它通过使用编辑器提示您来获取此提交消息。但是,如果标准输出重定向,则无法正常工作,因此您需要使用选项自己指定消息,-m或者通过设置GIT_EDITOR为脚本或命令的名称来指定消息,该脚本或命令将编辑给定的文件以生成消息。

如果您的目标是重定向标准输出并让其使用您的编辑器,那么除非您的编辑器是图形化的(例如),否则这是不可能的gvim -f。任何终端编辑器在运行时都会固有地写入标准输出。

相关内容