在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?
答案 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