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