【问题标题】:Git command line extremely slowGit命令行非常慢
【发布时间】:2017-08-19 20:50:33
【问题描述】:

我尝试了这个问题的所有内容 Git/Bash is extremely slow in Windows 7 x64

但没有运气。当我卸载并重新安装时,它运行良好大约 1 小时,然后又变慢了。如果我使用GIT_TRACE=1 运行 git,我会得到以下信息:

09:25:14.452494 git.c:371               trace: built-in: git 'status'
09:25:14.671494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:14.812494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:14.911494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:15.052494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:15.111494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:15.259494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:15.351494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:15.488494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:15.788494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:15.937494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:16.066494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:16.224494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:16.337494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:16.492494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:16.607494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:16.756494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:16.902494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:17.050494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:17.225494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:17.375494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:17.518494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:17.676494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:17.834494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:17.997494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:18.203494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:18.348494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:18.449494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:18.593494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:18.693494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:18.834494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:18.941494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:19.083494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:19.227494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:19.369494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:19.496494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:19.640494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:19.745494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:19.887494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:19.996494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:20.141494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:20.397494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:20.529494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:20.652494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:20.785494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:20.888494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:21.019494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:21.113494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:21.247494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:21.356494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:21.489494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:21.619494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:21.752494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:21.898494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:22.030494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:22.122494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:22.255494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:22.351494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:22.490494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:22.582494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:22.720494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:22.826494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:22.958494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:23.049494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:23.199494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:23.298494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:23.444494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:23.606494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:23.740494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:23.856494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:23.985494 git.c:371               trace: built-in: git 'status' '--porcelain'
09:25:24.076494 run-command.c:369       trace: run_command: 'status' '--porcelain'
09:25:24.211494 git.c:371               trace: built-in: git 'status' '--porcelain'

之后是通常的输出。 这对我来说似乎不正常,因为通常它只是用于状态检查的一条跟踪线。我在cmder 中使用它,因为它在执行任何其他操作后运行 git 命令来更新分支详细信息需要很长时间。关于可能导致这种情况的任何想法?如果没有任何方法可以在 cmder 窗口上禁用 git 详细信息?

【问题讨论】:

  • 不要使用cmder/clink?它看起来像是一个关于 clink 提示功能的问题,为什么它会在每个提示中产生几十个“状态”命令。
  • @Maximus 没有多少命令会在任何 shell 上产生,我试过了。我问如果无法正确解决这个问题(这会阻止 git 启动这么多状态命令),是否可以在 cmder 的每个提示上禁用 git。
  • “shell” - 是 cmd、bash 或你正在使用什么。 ConEmu 是一个终端。 cmder 是 ConEmu 和 clink 等第三方软件的捆绑包。因此,禁用 clink,或使用裸 ConEmu 来获得“干净”提示。
  • 谢谢我禁用了叮当声。不是最好的解决方案,但 git 真的很慢,每次提示后都无法运行

标签: git shell terminal conemu cmder


【解决方案1】:

试试git gc

这应该可以解决您的问题。为我工作

【讨论】:

    【解决方案2】:

    我的 git 也非常慢。当我在命令提示符下键入git 时,完成时间超过 60 秒。 在我卸载IBM Security Trusteer Rapport 之后问题就消失了。

    【讨论】:

      猜你喜欢
      • 2021-02-01
      • 1970-01-01
      • 2015-12-14
      • 1970-01-01
      • 2020-08-16
      • 2016-02-28
      • 1970-01-01
      • 2023-02-17
      • 2018-11-14
      相关资源
      最近更新 更多