Git 2.24 发布,分布式版本控制系统
Git 2.24 已经发布,该版本包含了来自 78 个贡献者的功能增加和 bug 修复。其中带来一些亮点,比如特性宏,commit-graph,新可选全新的仓库历史重写工具 filter-repo 等,内容如下:
Feature macros
在 Git 2.24 中,可以选择使用 feature 宏功能(一种包含许多其他功能的 Git 配置)。这些是由 Git 的开发人员手动选择的,通过它可以选择加入某个功能或根据存储库的特性采用一些设置。例如,假设有一个特别大的存储库,当我们发现其运行缓慢时,通常会将 index.version 设置为 4,但这并不是好的解决方法。而现在有另外一种选择:通过下面方式启用 feature.manyFiles:
git config feature.manyFiles true
目前 feature 宏功能只包括 feature.experimenta l和 feature.manyFiles,以后可能会新添加新的宏。
Commit graphs by default(默认启用提交图)
在 Git 2.24 中,默认会启用提交图,此前该功能是在实验性 core.commitGraph 配置启用,但经过大量测试,已经可以默认启用。除了之外,还有一些提交图其他的改进:
- 所有 commit-graph 子命令(例如 git commit-graph write,git commit-graph verify 等)都支持 -[no-] progress。
- 引入了一个新的配置值,用于在获取时自动更新 commit-graph 文件,该配置值利用提交图链将部分历史记录写入提交图链中,以供以后压缩。
- 修复了许多错误,以改善 commit-graph 命令的性能和可靠性,尤其是在面对损坏的存储库时。
- commit-graph 命令现在还支持Git的最新跟踪机制 trace2
Alternative history rewriting tools
如果想对存储库的历史记录执行复杂的操作(例如从存储库的历史记录中删除文件或提取与一个目录有关的历史记录),可以试用 git filter-branch。 git filter-branch 是一个历史悠久的且功能强大的重写历史记录的工具。
但是,git filter-branch 使用非常复杂,而且操作特别慢,并且经常会导致很多意想不到的误操作导致仓库库损坏和数据丢失。
Git 2.24 中推荐 git filter-repo(github/newren/git-filter-repo)。git filter-repo 可以避免用户在使用 git filter-branch 遇到的很多坑。git filter-repo 无需按顺序重新处理每个提交,而是对历史记录进行高效的流表示,可以更高效地运作。该工具功能极其强大,其所有功能都具有详细的文档。下面是有关如何使用 git filter-repo 的一些特点:
- git filter-repo --analyze 提供了易于理解的度量选择,用于分析存储库的大小。这包括每种对象有多少个,文件和目录最大,扩展名占用最多空间等等
- 可以使用 --path-{glob,regex} 和类似的选项来过滤存储库的历史记录,使其仅包含某些路径
- 重写历史记录时,所有重写的提交(连同其祖先)将获得一个新的 SHA-1 来识别它们。默认情况下,git filter-repo 会更新对这些 SHA-1 的所有其他引用,就像其他引用它们的提交消息一样
- 可以对历史记录执行"查找和替换"操作
- git filter-repo 是可扩展的,它提供了一个灵活的接口,用于在 Python 中指定回调以及定义新的子命令
更多详情请见发布说明。
参考:
http://baijiahao.baidu.com/s?id=1649358058435736187&wfr=spider&for=pc
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ML.NET 1.4 发布,跨平台机器学习框架
ML.NET 是一个面向 .NET 开发人员的开源和跨平台机器学习框架,它包括 Model Builder 和 CLI(命令行接口),让使用自动机器学习(AutoML)构建自定义机器学习模型变得更容易。1.4 版本已经发布了,以下是本次更新的一些亮点: 基于 GPU 支持的深度神经网络图像分类(GA) 在 .NET 中实现完整的 DNN 模型重新训练和传输学习。例如,你可以通过使用自己的图像从 ML.NET API 中本地培训 TensorFlow 模型来创建自己的自定义图像分类模型。ML.NET 的优点是使用了一个非常简单的高级 API,只需使用几行 C# 代码就可以定义和训练图像分类模型。而在使用低级别 Tensorflow.NET 库时,相同的操作则需要数百行代码。 Tensorflow.NET 库是一个开源的低级别 API 库,该库是开源 SciSharp 堆栈库的一部分,它为 TensorFlow 提供 .NET 标准绑定。下面的堆栈图显示了 ML.NET 是如何在 DNN 培训中实现这些新特性的: 图像分类功能最初是在 v1.4 预览版中引入的,在 GA版本中添加了一下新功...
- 下一篇
Apache Solr 8.3.0 发布,Java 全文搜索服务器
Apache Solr 8.3.0 发布了。Apache Solr 是一个开源的搜索服务器,使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用 id 进行描述。 Solr 8.3.0值得关注的更新: 二维路由别名现在可用于基于两个字段的数据值来组织集合 SPLITSHARD 实现了一个新的 splitByPrefix 选项,该选项在使用 CompositeIds 时考虑了实际的文档分发 QueryElevationComponent 可以将查询规则配置为 match=“subset”,其中单词仅需要与查询单词的子集匹配,并且顺序任意 用于将文档导出到文件的命令行选项 支持确定性副本路由首选项,以更好地使用缓存 能够在 Solr Admin UI 中查询别名 JWTAut...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Hadoop3单机部署,实现最简伪集群
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7安装Docker,走上虚拟化容器引擎之路