Git 2.27.0的新版本已经发布,这些是其更改

Git是最流行、最可靠、性能最高的版本控制系统之一,它提供了基于版本和合并的灵活的非线性开发工具。

为了确保历史记录的完整性并防止追溯性更改,每次提交都使用对整个先前历史记录的隐式哈希,并且可以验证各个标签和提交的开发者的数字签名。

Git分布式源代码控制系统的新版本2.27.0近日发布。与之前的版本相比,新版本包含了537处变更,这些变更汇集了71位开发者的意见,其中19位是首次参与开发。

Git 2.27.0关键新功能

在 Git 2.27.0 新版本中,已移除默认包含的第二版 Git 通信协议(用于远程客户端连接到 Git 服务器)。该协议尚未被完全识别,但由于已发现一些需要单独解决的底层问题,因此默认启用。

另一方面,为了避免新版本中的混淆,如果检测到与提交关联的标签已被替换,`git describe` 命令始终使用扩展输出模式(`--long`)。此前,即使标签已被重命名或移动到 `refs/tags/` 层级结构中,描述提交的已签名或已注释标签仍会显示出来。

现在运行 `git pull` 命令时,如果未显式设置`pull.rebase`配置变量,且未应用`-[no-]rebase` 或 `--ff-only`选项,则会发出警告。要抑制未执行 rebase 操作的用户的警告,可以将该变量设置为 `false`。

git update-ref --stdin ”新增了几个操作,允许您直接控制链接更新事务,例如,实现跨多个存储库的两阶段原子链接更新。

此外,还审查了常用的git fetch选项。之前未提及的类似选项已被记录并转移到“git fetch”选项中。

无需更改 git 格式补丁,也无需转换非 ASCII 编码的字符,即可显示“发件人:”和“主题:”标头。

“git log”中新增了“--show-pulls”选项,不仅可以查看进行了更改的提交,还可以查看从单独分支合并这些更改的提交。

在所有组件中,交互式输入的处理已经统一,并且在显示输入请求之后但在读取操作之前添加了fflush()调用。

在“git rebase”中,您可以重新应用所有本地提交,而无需先运行“ checkout ”操作,即使其中一些提交先前已传递到上游。

配置变量“ pack.useSparse”的值已替换为“ true”,以启用先前作为实验提供的默认优化。

其他变化:

  • 添加了一组通过代理访问时配置SSL连接的选项。
  • 使用“清洁”和“污迹”转换过滤器时显示的信息已扩展。 例如,现在显示树状对象,其中显示了转换后的斑点。
  • 在“ git merge”中添加了“ –autostash”选项。
  • 改进了结帐界面。
  • –no-gpg-sign选项已添加到git rebase命令中,以覆盖commit.gpgSign设置。
  • 为Markdown文档添加了用户差异模板。
  • 删除了导致空工作树的低薪模板上所有路由的排除限制。
  • 现在,默认情况下,“ git restore –staged –worktree”操作使用“ HEAD”分支的内容,而不显示错误。
  • 工作继续切换到SHA-2哈希算法,而不是SHA-1。
  • 重新编写代码以与GnuPG交互。

来源:https://github.com/


在 Google 中将其添加为首选来源