内容简介:Git 2.35 发布了,该版本包含来自超过 93 个贡献者的特性和错误修复,其中 35 个是新贡献者。 该版本的亮眼功能如下: 引入了 git stash 工具,该工具会存储对 Git 存储库中跟踪的文件的任何更改,可以很容易地存...
Git 2.35 发布了,该版本包含来自超过 93 个贡献者的特性和错误修复,其中 35 个是新贡献者。
该版本的亮眼功能如下:
- 引入了
git stash
工具,该 工具 会存储对 Git 存储库中跟踪的文件的任何更改,可以很容易地存储更改信息,以供后续使用。【源代码】 git log
有一组丰富的--format
选项,可以使用它们来自定义 git log 的输出。在修饰终端时会很方便,对于围绕 git log 的输出编写脚本更有帮助。【源代码】- 对 Git 2.34 中引入的 SSH 密匙功能作了一些增强,Git 2.35 版本可以利用 OpenSSH 的 valid-before 和 valid-after 指令,确保正在验证的对象使用有效的签名进行签名。【源代码】 此外,Git 2.35 还支持
user.signingKey
配置中的新密钥类型,比如可以使用不以“ssh-”开头的密钥类型指定文字 SSH 密钥(如 ECDSA 密钥)。【源代码】 - 在 Git 2.35 中,
--histogram
性能得到了很好的提升。【源代码】 - 优化了用于处理合并冲突的的
merge.conflictStyle
设置,之前它有 “merge” 和 “diff3” 两种模式,Git 2.35 引入了一种新模式 “zdiff3” ,这么模式会将冲突部分前后相同的代码行移走。举个例子:
假设有一个带有占位符注释的列表,我们合并了两个分支,每个分支都添加不同的内容来填充占位符:
1,
foo,
bar,
<<<<<<< HEAD
=======
quux,
woot,
>>>>>>> side
baz,
3,
使用 diff3 模式的冲突标记会则会显示合并基础和双方的全部内容:
1,
<<<<<<< HEAD
foo,
bar,
baz,
||||||| 60c6bd0
# add more here
=======
foo,
bar,
quux,
woot,
baz,
>>>>>>> side
3,
请注意,双方都在开头添加“foo”和“bar”,在末尾添加“baz”。那么,当我们使用 zdiff3 模式的冲突标记,则会将“foo”和“bar”完全移出冲突区域,让合并结果更准确(包括合并基础)也更简洁(处理了合并冲突的冗余部分)
- 在 Git 2.35 中,
git jump merge
学习了如何使用路径规范来缩小合并冲突的范围。因此,如果你正在解决一个大的合并冲突,但只想处理特定部分,可以运行:
$ git jump merge -- foo
- Git 2.35 继续努力标准化正确的
size_t
类型来表示对象长度,使得过滤器可以处理大于 4GB 的文件。【源代码】 - 可以使用 --empty=<stop|drop|keep> ,指定 git am 在遇到空提交时的行为方式。【源代码】
- 在 Git 2.34 中,稀疏索引被集成到少数命令中,包括 git status、git add 和 git commit。 在 2.35 中,对稀疏索引的命令支持增加到包括 git reset、git diff、git blame、git fetch、git pull 和新模式 git ls-files 的集成。[source, source, source]
- Reftable 提高具有大量引用的存储库的读写性能。将 reftable 的实现引入 Git 的工作已经进行了很长时间,Git 2.35 附带了 reftable 后端的初始导入,但因为新的后端还没有与 refs 集成,所以还不能开始使用 reftable。
除上述改动外,Git 2.35 还包含其他更新项,可在更新公告中查看更多细节。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。