自定义脚本中的git push命令 - 如何安静地执行此操作?

时间:2015-05-10 07:46:48

标签: ruby git bash

在Ruby脚本中,我有一组git命令。我想阻止git push的输出显示在控制台中(无输出或写入放大器文件)

git push origin master
   Counting objects: 440, done.
   Delta compression using up to 4 threads.
   Comprssing objects: 100% (405/405), done.
   Writing objects: 100% (440/440), 353.50 KiB | 0 bytes/s, done.
   Total 440 (delta 115), reused 0 (delta 0)
   To git@bitbucket.org:myname/mygitrepo.git
   + 184a611...a52775d master -> master

当我在脚本中使用步骤时,此输出将插入当前步骤报告流程中......弄乱它。我该怎么做才能抑制输出?

更新

我正在运行一个命令集,我有兴趣只检测整个集合的成功或失败......

%x[ 
cd "#{@project_path}"
git init 2> /dev/null
cp "#{@dockerfile_template}" "#{@project_path}"
git add --all 2> /dev/null
git commit -m "first commit" 2> /dev/null
git remote add origin "#{@project_repository}" 2> /dev/null
git push -u origin master 2> /dev/null
]

if $?.success?

2 个答案:

答案 0 :(得分:2)

您还可以将stdout和stderr组合到/ dev / null

git push origin master > /dev/null 2>&1

但请注意,如果出现错误,您将无法看到它。

答案 1 :(得分:0)

尝试重定向到/ dev / null。即,使用命令:

    git push origin master > /dev/null

或者可能(如果获得输出到stderr):

    git push origin master 2> /dev/null