如何将git提交信息保存到文件中?

4

我想提交、修复错误并将更改发送到GIT仓库,但是消息数量超过Unix命令行显示的行数,因此我无法阅读错误消息。如何将GIT提交消息保存到文件中或者可能增加Unix命令行显示的行数?

看起来在这个GIT版本中使用了钩子,它会显示诸如:

/usr/local/scripts/act check test-file --file-www/htdocs/doms/netflow/scripts/read.php --verbose
Logging output to toLogs
[ OK ]   php lint for /www/htdocs/doms/netflow/scripts/read.php - no errors
[ OK ]   code-wrangler audit-php for /www/htdocs/doms/netflow/scripts/read.php - no errors
[ OK ]   No Errors Detected

感谢您的选择。

“commit messages”是什么意思?你是在使用 git log 吗?如果是的话,你可以用 j 向下滚动,或者用 git log > log.txt将其输出到文件中。 - Leigh
我更新了我的问题,很抱歉没有一次性提供所有信息。 - Sergey Novikov
1个回答

3

如果要重定向git命令的标准输出和错误输出,可以执行以下操作:

git commit -m "your message" 2>&1 | cat >> log &

(如在 "尝试重定向 'git gc' 输出 " 中建议的)
或:

script -q -c 'git commit -m "your message"' > log
script -q -c 'git commit -m "your message"' | sed 's/\r.*//g' > log

您可以尝试停用分页器以确保获取完整的日志。
 git --no-pager log --decorate=short --pretty=oneline > alog.txt
 # or
 GIT_PAGER="cut -c 1-${COLUMNS-80}" git log

请查看 "如何使git log不提示继续?" 获取更多信息。

(这与您可以为长行设置的分页器设置不同,例如 "git diff - 如何处理长行?")


感谢您的回答!--no-pager不起作用,但我认为这是预期的,因为我使用的是git commit而不是git log - Sergey Novikov
@SergeyNovikov 好的,这更像是一个重定向问题。我已经编辑了我的答案。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接