Git 2.29 稳定版已发布。此前发布的多个版本都在为将 Git 使用的安全哈希算法从 SHA-1 迁移至 SHA-256 做准备,2.29 版本终于实验性支持 SHA-256,可用于提升代码仓库的安全性。
在 git init 命令后面加上 --object-format=sha256 参数即可创建使用 SHA-256 的 Git 仓库。不过目前尚未支持将 Git 仓库使用的安全哈希算法从 SHA-1 升级至 SHA-256。
$ git --version
git version 2.29.0
$ git init --object-format=sha256 repo
Initialized empty Git repository in /home/ttaylorr/repo/.git/
$ cd repo
$ echo 'Hello, SHA-256!' >README.md
$ git add README.md
$ git commit -m "README.md: initial commit"
[master (root-commit) 6e92961] README.md: initial commit
1 file changed, 1 insertion(+)
create mode 100644 README.md
$ git rev-parse HEAD
6e929619da9d82c78dd854dfe237c61cbad9e95148c1849b1f96ada5ee800810
当使用 SHA-256 对象格式时,打包校验、索引校验以及 object ID 均使用 SHA-256 这种新格式生成,而不是 SHA-1 的默认格式。
除了实验性支持 SHA-256,Git 2.29 还有许多其他改进,包括恢复使用 Protocol v2 作为默认协议,以及对命令的改进,例如引入用于执行 Git 仓库维护任务的 git maintenance,详情查看发布公告。
注意:本文归作者所有,未经作者允许,不得转载