我从这个aritcle学习"树"和"索引":通过实例学习Git Internals
但是当谈到"git filter-branch"命令时,我不知道"--tree-filter"和"--index-filter"之间有什么区别.
tor*_*rek 11
简短的版本是将--tree-filter每个提交检出到一个临时目录,运行你的过滤器命令,并从临时目录中的任何内容构建一个新的提交; 将--index-filter每个提交复制到索引中,运行您的过滤器命令,并从索引中现在的任何内容构建新的提交.
将提交复制到索引比检查提交快1倍.从索引构建提交比从目录构建提交更快.因此,使用索引过滤器比使用树过滤器快得多.但是,编写脚本并不容易.
1确切的速度差异取决于您的临时目录:内存中文件系统比SSD上文件系统更快,这比在旋转介质上更快,因此如果您使用旋转介质,您获得的更多可以将树过滤器指向内存中的文件系统.但即使这样,索引过滤器仍然更快.
在实际的磁盘上,我已经看到大约100左右(因此索引过滤器需要2分钟转换为需要3个小时以上的树过滤器).
| 归档时间: |
|
| 查看次数: |
3200 次 |
| 最近记录: |