发布分布式源码控制系统Git 2.27

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

与之前版本相比,新版本包含 537 处变更,由 71 名开发人员参与准备,其中 19 名开发人员首次参与开发。 基本的 创新:

  • 先前版本中实现的默认启用已恢复 第二版 Git通信协议,客户端远程连接Git服务器时使用的协议。 由于识别出需要单独考虑的棘手问题,该协议默认被认为尚未准备好使用。
  • 添加了一组用于在通过代理访问时设置 SSL 连接的选项。
  • 使用“干净”和“涂抹”转换过滤器时显示的信息已扩展。 例如,现在显示该对象 树形的,其中出现要转换的 blob。
  • 为了避免混淆,如果识别了与提交关联的替换标签,“gitdescribe”命令现在总是使用扩展输出模式(“--long”)(以前,输出描述提交的签名或注释标签,即使它是在层次结构“refs/tags/”中重命名或移动,并且“git show tag^0”命令未按预期工作 - 未找到“refs/tags/tag”,甚至返回了不同的标签)。
  • 执行“git pull”时,除非显式设置了 pull.rebase 配置变量并且未使用“--[no-]rebase”或“--ff-only”选项,否则现在会发出警告。 为了抑制那些不打算执行变基操作的人的警告,可以将该变量设置为 false。
  • 已审查了“git fetch”常见的“git pull”选项。 记录了以前未提及的类似选项,并将缺少的选项传递给 git fetch。
  • 在“git rebase”命令中添加了“--no-gpg-sign”选项以覆盖“commit.gpgSign”设置。
  • 添加了“git format-patch”的功能,以不变地显示“From:”和“Subject:”标题,而不转换非 ASCII 字符。
  • “-show-pulls”选项已添加到“git log”中,使您不仅可以查看进行更改的提交,还可以查看从单独分支合并这些更改的提交。
  • 统一所有组件的交互式输入处理,并在显示输入提示之后、读取操作之前添加了对 fflush() 的调用。
  • “git rebase”允许您重新应用所有本地提交,而无需先执行“签出”操作,即使其中一些提交之前已上传到上游。
  • “pack.useSparse”配置变量已更改为“true”,以启用之前默认为实验性的优化。
  • 在“git merge”中添加了“--autostash”选项。
  • 改进了“稀疏结账”界面。
  • “git update-ref --stdin”中添加了几个新操作,
    允许直接控制链接更新事务,例如跨多个存储库实现两阶段原子链接更新。

  • 添加了 Markdown 文档的 userdiff 模板。
  • 删除了排除稀疏签出模板中导致空工作树的所有路径的限制。
  • “git Restore --staged --worktree”操作现在默认使用“HEAD”分支中的内容,而不是抛出错误。
  • 继续向 SHA-2 哈希算法(而不是 SHA-1)过渡。
  • 与 GnuPG 交互的代码已被重新​​设计。

来源: opennet.ru

添加评论