Git 2.40 源代码控制发布

经过三个月的开发,分布式源码控制系统Git 2.40已经发布。 Git 是最流行、可靠和高性能的版本控制系统之一,提供基于分支和合并的灵活的非线性开发工具。 为了确保历史记录的完整性和对追溯更改的抵抗力,在每次提交中都会使用整个先前历史记录的隐式哈希;还可以使用开发人员的数字签名来验证各个标签和提交。

与之前版本相比,新版本包含 472 处变更,由 88 名开发人员参与准备,其中 30 名开发人员首次参与开发。 主要创新点:

  • 除了之前支持的 Vim 编辑器之外,git-jump 脚本还添加了对 Emacs 编辑器的支持。 Git-jump 用于将文件中位置的信息发送到文本编辑器,以便快速导航并跳转到特定位置编辑代码。 例如,git-jump 可用于在编辑器中在解析合并冲突、评估差异和执行搜索所产生的行之间跳转(您可以执行“git Jump grep foo”,然后在通配符“foo”的位置之间快速跳转)发生)。
  • “git cat-file”支持使用“-s”和“--batch-check”选项以及“--use-mailmap”来正确确定对象的大小,同时考虑基于的标识符替换文件 mailmap 中指定的电子邮件绑定(以前,“--use-mailmap”选项仅影响内容的输出,但没有考虑到旧的和替换的名称/电子邮件对可能具有不同的大小)。
  • “git check-attr”命令中添加了“--source”选项,用于选择具有必要“.gitattributes”文件的树,如果有多个“.gitattributes”文件,则该树将用于确定实际属性在存储库中。
  • “git bisect”命令的实现用 C 重写并内置到主 git 可执行文件中(之前该命令以 Shell 脚本的形式实现)。
  • “git add —interactive”命令的旧 Shell 实现已被删除(在 git 2.26 中提供了内置 C 版本,但旧 Shell 实现仍然可用,并由 add.interactive.useBuiltin 设置调节)。
  • 在“git merge-tree”命令中添加了“--merge-base”选项。
  • 在“git range-diff”命令中添加了“--abbrev=”选项”
  • 添加了通过“git var”命令设置 GIT_SEQUENCE_EDITOR 变量来覆盖 rebase 命令交互模式的列表编辑器的功能,类似于“git var GIT_EDITOR”。
  • 帐户子系统添加了对有限有效期密码的支持。
  • Bash 的输入完成脚本现在具有不区分大小写的模式。

来源: opennet.ru

添加评论