与之前版本相比,新版本包含 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