如何在后台查看git gc的进度?

Fli*_*imm 5 git

当我运行一个命令时git gc,我收到这样的消息:

$ git fetch
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
Run Code Online (Sandbox Code Playgroud)

看起来Git的新版本现在在后台运行自动打包,这是一个很好的功能!如果我git gc手动运行,我会收到以下消息:

$ git gc
fatal: gc is already running on machine 'machinename' pid 14009 (use --force if not)
Run Code Online (Sandbox Code Playgroud)

这是有道理的.但是,我非常希望能够以gc某种方式观察正在运行背景的进度?

显然,我可以运行类似的东西while ! git gc ; do sleep 1s ; done,但这并不能给我提供与Git进度指示器相同的信息,并且它会自动运行一段额外的时间.

max*_*630 5

您可以将其配置为非后台,然后我相信它应该报告其进度:

 git config gc.autoDetach false
Run Code Online (Sandbox Code Playgroud)

  • 这实际上不会对已经运行的后台 gc 执行任何操作,它只是阻止任何将来的命令在后台执行 gc。 (2认同)