首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git别名比原始命令慢

Git别名比原始命令慢
EN

Stack Overflow用户
提问于 2016-04-29 05:23:26
回答 1查看 136关注 0票数 2

使用git 2.8.0,我在.gitconfig中定义了一个别名

代码语言:javascript
复制
[alias]
   st = status

然后如果我运行GIT_TRACE=1 git st,它需要7秒:

代码语言:javascript
复制
17:18:48.934703 git.c:564               trace: exec: 'git-st'
17:18:48.936703 run-command.c:336       trace: run_command: 'git-st'
17:18:55.734092 git.c:287               trace: alias expansion: st => 'status'
17:18:55.735092 git.c:564               trace: exec: 'git-status'
17:18:55.735092 run-command.c:336       trace: run_command: 'git-status'
17:18:55.772094 git.c:351               trace: built-in: git 'status'

GIT_TRACE=1 git status它是瞬间的:

代码语言:javascript
复制
17:19:23.649688 git.c:351               trace: built-in: git 'status'

这发生在windows机器上。你知道根本问题是什么吗?

EN

回答 1

Stack Overflow用户

发布于 2016-04-29 05:52:05

这种情况发生在windows机器上。你知道根本问题是什么吗?

由于git命令基于linux代码,因此它们针对基于unix操作系统进行了优化。

当你在Windows上运行它时(尤其是在GIT_TRACE打开的时候),git必须挂接和监听Windows系统调用,并为这些系统调用和事件设置详细和调试模式。

这就是它在Windows上运行缓慢的原因。

Github已经取得了git windows客户端的所有权,从版本2开始,他们就在不断地改进它。

请阅读以下内容(2.8的发行说明):

Convergence with Git for Windows

最近有一个很大的努力,让

在Windows上感觉像在Linux和OS X上一样舒适的

例如,在Windows上启动进程的成本相对较高,因此许多最初作为脚本编写的命令已用C语言重写,以使它们更快的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36925695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档