首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 归档 标签 关于

期待 Git 2.56 和 3.0

2026-09-22 1 阅读 约6分钟阅读 chmaynard
分享:
字号:
欢迎来到 LWN.net 以下仅供订阅的内容由 LWN 订阅者提供给您。成千上万的订阅者依靠 LWN 获取来自 Linux 和自由软件社区的最佳新闻。如果您喜欢这篇文章,请考虑订阅 LWN 。感谢您访问LWN.net!作者:Jonathan Corbet,2026 年 9 月 18 日 Git 源代码管理系统是全球开发流程的核心,因此变更,尤其是不兼容的变更,对相关开发人员非常感兴趣。 Git 2.56 版本预计将于 9 月底左右发布,目前以候选版本的形式提供。它不是最惊天动地的版本,但接下来的版本很可能是期待已久的 Git 3.0。 Git 2.56 中有什么 Git 2.56 版本包含超过 700 个非合并提交;它带来了许多不错的改进,但不会从根本上改变大多数用户的 Git 体验。在这方面提供一些潜力的一个功能是将 drop 子命令添加到(仍处于实验阶段)git 历史记录工具箱: $ git History drop commit-id 此命令将导致已识别的提交从当前分支的历史记录中删除,重播在其之后添加的所有提交。它提供了一种更简单的方法来删除有问题的提交。不幸的是,如果历史记录包含合并提交,它仍然拒绝工作,从而使其无法用于许多(或大多数)存储库。 git status 命令现在将建议使用 git pull 命令来更新它跟踪的分支后面的分支。不过,它仍然会说分支是“最新的”,即使它落后于(未获取的)远程跟踪分支。 git refs 命令的存在是为了在低级别上操作引用;在2.56中,它获得了一些新的子命令。这些命令 create 、 delete 、 update 和 rename ,也许让 Git 感到惊讶,它们的作用完全按照它们的名字所暗示的那样。有许多小的可用性调整。 git 分支的新 --delete-merged 选项将删除已合并到远程跟踪分支中的本地分支。如果该分支用于二分,则尝试使用 gitbranch -d 删除该分支将失败,并显示一条有用的消息。尝试锁定配置文件将在失败时重试,从而避免多个命令尝试同时修改文件时的烦恼。 git add 有一个新的 --resolved 选项,仅添加已解决合并冲突的文件。除此之外,还有常见的一长串错误修复、重构和性能改进。总而言之,2.56 看起来是一个可靠的版本,但它也显示出一个项目的迹象,该项目阻碍了未来的许多更重要的工作。这就引出了接下来会发生什么的问题。 2.56之后? 9 月初,Git 维护者 Junio Hamano 向社区询问下一个版本应该是什么。是否最好推出社区已经努力了一段时间的 3.0 版本,以高调结束这一年?或者,在 3.0 版本发布之前是否还需要一个或多个 2.x 版本?这是一个重要的问题,因为 3.0 将包含许多兼容性问题,可能会让一些用户在升级之前犹豫不决。其中,最重要的也许是默认使用 SHA-256 哈希函数,而不是 Git 从一开始就使用的 SHA-1 哈希。 SHA-1 长期以来被认为很弱,这对于像 Git 这样的应用程序来说是令人担忧的。哈希用于识别 Git 存储库中的每个对象(文件、目录树、提交),并用于验证导致任何给定点的提交链。如果 SHA-1 可以被破解,那么可以想象它可以用来以难以或不可能检测到的方式修改存储库的历史记录。 Git 长期以来一直包含针对已知 SHA-1 攻击的防御措施,现在似乎很少有人真正担心存储库遭到破坏的可能性。尽管如此,转向更安全的哈希函数还是很有意义的。自 2023 年 2.42 版本发布以来,Git 中就已经存在对 SHA-256 的非实验性支持,尽管与旧存储库互操作的一些粘合剂需要更长的时间。一段时间以来,Git 开发人员在默认情况下无法迁移到 SHA-256 的最大问题是主要伪造站点的支持(或缺乏支持)。 GitLab 自 2024 年以来一直提供支持,Forgejo 也提供支持。然而,这个房间里仍然缺少的大象是 GitHub;发布一个创建与 GitHub 不兼容的存储库的 Git 版本是一个令人担忧的前景。目前尚不清楚 GitHub 何时会添加该支持,但值得注意的是 brian m. Carlson 是 GitHub 员工,也是 SHA-256 过渡背后的关键开发人员,他在回答 Hamano 的问题时表示,有关该主题的消息即将发布,下一个版本为 3.0 可能是最好的选择
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱