如何让git停止打印到屏幕上?

时间:2016-02-29 18:18:23

标签: git shell cron

我有一个cron作业,它使用git pull将特定的存储库同步到它的原点。该命令如下所示:

@daily echo $(cd /path/to/dir && git pull origin master) > /dev/null

但我还是得到了

From https://github.com/groupname/reponame
 * branch            master     -> FETCH_HEAD

但是每当目录更新时,cron仍会向我发送带有输出的邮件。 如何阻止git产生任何输出?

2 个答案:

答案 0 :(得分:1)

也许选项--quiet就足够了?

文档:

  

-q, - quiet

     

这传递给底层git-fetch以在传输过程中压制报告,并将底层git-merge传递给压制   合并期间的输出。

答案 1 :(得分:-1)

将此添加到您的命令:

> /dev/null 2>&1 

@daily echo $(cd /path/to/dir && git pull origin master) 2>&1 > /dev/null 2&1

这是什么意思?

File descriptor 1 is the standard output (stdout).
File descriptor 2 is the standard error (stderr).

2>1看起来会将stderr重定向到stdout,但此处的扭曲实际上会将stderr重定向到名为1的文件。< / p>

这样可以解决问题: - )