【问题标题】:Disable progress indication in git command line在 git 命令行中禁用进度指示
【发布时间】:2014-02-22 14:31:56
【问题描述】:

我不时在 Acme 中使用 git,并且不解释回车。当推/拉代码时,因为 git 做了很多带有回车的动画,所以输出变得一团糟。有什么办法可以在 git 中禁用这些进度表?

【问题讨论】:

  • 如果输出不是 tty,不应该这样做...git fetch | cat ?
  • 或者,只需使用-q 来取消默认的--progress
  • @torek 我知道,但它不会暂停所有输出吗?我仍然想查看 git 的输出,但没有花哨的回车。
  • 是的,它会关闭一切。使用git fetch | cat 似乎没有帮助;我仍然得到进度计数。
  • 因为 git 将进度打印到 stderr

标签: git user-interface command-line


【解决方案1】:

stderr 重定向到cat。与-q 不同,它不会抑制所有输出:

 /test/media/ffmpeg
$ git fetch 2>&1 | cat
From git://source.ffmpeg.org/ffmpeg
   cc0e2ba..0bc3de1  master     -> origin/master
   58e212c..41216eb  release/0.10 -> origin/release/0.10
   929100a..69f724a  release/0.11 -> origin/release/0.11
   243396f..101e1b3  release/0.6 -> origin/release/0.6
   1049328..cce6bdc  release/0.7 -> origin/release/0.7
   115efde..8925c44  release/0.8 -> origin/release/0.8
   b6f5a54..320df1c  release/0.9 -> origin/release/0.9
   e28d960..a4c804d  release/1.0 -> origin/release/1.0
   b8eaf47..08dde75  release/1.1 -> origin/release/1.1
   86d4d4b..89c917f  release/1.2 -> origin/release/1.2
   7e73760..b4552cc  release/2.0 -> origin/release/2.0
   69a283e..ac38860  release/2.1 -> origin/release/2.1
 * [new tag]         n0.10.11   -> n0.10.11
 * [new tag]         n2.0.3     -> n2.0.3
From git://source.ffmpeg.org/ffmpeg
 * [new tag]         n1.1.8     -> n1.1.8
 * [new tag]         n1.2.5     -> n1.2.5
 * [new tag]         n2.1.2     -> n2.1.2
 * [new tag]         n2.1.3     -> n2.1.3

【讨论】:

  • 如果我想看到错误但看不到进度怎么办?从脚本运行 git 并获得一个不错的日志时的示例......
  • @HuguesM。 git fetch 2>&1 1>/dev/null | cat
  • 谢谢&抱歉,我想我误解了你的原始答案,当我不需要区分标准错误和标准输出时,它可以很好地完成工作。所以现在这 3 个 cmets 只是噪音,我的错(版主请随意删除)。
猜你喜欢
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
  • 2014-11-11
  • 2014-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-27
相关资源
最近更新 更多