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

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

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

  • 引入了实验性的“git switch”和“git Restore”命令来分离松散耦合的“git checkout”功能,例如分支操作(切换和创建)和恢复工作目录中的文件(“git checkout $commit - $filename”)或立即进入暂存区域(“—staging”,在“git checkout”中没有类似内容)。 值得注意的是,与“git checkout”不同,“git Restore”会从正在恢复的目录中删除未跟踪的文件(默认为“--no-overlay”)。
  • 添加了选项“git merge –quit”,该选项与“-abort”类似,停止合并分支的过程,但保持工作目录不变。 如果手动合并期间所做的某些更改更适合作为单独的提交发布,则此选项可能很有用。
  • “git clone”、“git fetch”和“git Push”命令现在会考虑链接存储库中提交的存在(候补);
  • 添加 “git Blame —ignore-rev”和“—ignore-revs-file”选项允许您跳过进行细微更改的提交(例如,格式修复);
  • 添加了“gitcherry-pick—skip”选项来跳过冲突的提交(“gitreset&&gitcherry-pick—continue”序列的记忆模拟);
  • 添加了 status.aheadBehind 设置,永久修复了“git status -[no-]ahead-behind”选项;
  • 在此版本中,“git log”默认会考虑 mailmap 所做的更改,类似于 git Shortlog 已经做的事情;
  • 2.18 中引入的提交图(core.commitGraph)实验缓存的更新操作已显着加速。 当使用多个模板时,还使 git for-each-ref 更快,并减少了“git fetch —multiple”中对 auto-gc 的调用次数;
  • “gitbranch--list”现在总是在列表的开头显示分离的 HEAD,无论区域设置如何。

来源: opennet.ru

添加评论