AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

Git 2.5 增加了工作树、改进了三角工作流、性能等诸多方面

  • 2015-08-15
  • 本文字数:1078 字

    阅读完需:约 4 分钟

Git2.5 是一个重要的功能版本,其中包括了worktrees、改进过的triangular workflows、更好的性能,以及无数的改进和修复。

工作树(Worktrees)

工作树是一个新的实验性功能,使开发者可以在同一Git 仓库中,创建额外的工作树(working trees)。这一功能旨在让开发者易于在两个分支上同时工作。在老的Git 版本中,为此只能切换分支,因为同一时间只能使用一个分支;或者创建一份本地的副本,但为了保持它们的一致性,通常需要额外的工作。

Git 提供了 worktree 命令,用于创建一个新的工作树:

$ git worktree add -b hotfix ../hotfix origin/master这将在指定的路径下(比如…/hotfix),创建一个新的目录,从 origin/master 产生一个新的分支,并将代码迁出到这个新目录中。

在某些场景中,使用第二个工作树会非常有用。比如, 运行当前版本的一个长时间的测试,同时工作在下一个版本的分支上;或者处理一个紧急修复而无需切换出当前分支。

工作树会与主干仓库链接起来,并且彼此互相感知。所以,不允许将同一分支迁出到两个不同的工作树中,以避免两个工作树无法同步。

三角工作流(Triangular workflows)

三角工作流通常用于协调团队的代码贡献者之间的工作。其基本思想是,贡献者拥有他们自己的 fork,当准备好共享时,他们要创建一个 pull 请求,该请求最终会被合并到主干仓库。

为了使三角工作流易于处理,Git2.5 增加了新的符号 @{push},表示当前分支要推送到远程跟踪分支,所处的当前值。这将被用于,比如,列出自上次推送以来,当前分支已经增加的全部提交:

$ git log @{push}或者,可以这样:

$ git log <a href="mailto:whizbang@%7Bpush">whizbang@{push</a>}使用任意分支。

性能

Git2.5 改进了大工作树和网络文件系统的性能:

  • git update-index --untracked-cache 将启用一个实验性功能,使 Git 只检查目录的修改时间,以提高git status的性能。
  • git index-pack 会减少对 packed-refs 目录的扫描次数,以提高网络文件系统的性能。
  • 使用网络文件系统,重用现有包对象,可以减少对utime的频繁调用。

除了以上介绍的功能,Git2.5 还改进了对 Perforce 仓库的支持,包括使用 git p4 检测文件类型、更好地处理分支,以及更多的改进和修复,可以在发版说明中了解这些。

查看英文原文: Git 2.5 Adds Worktrees, Improves Triangular Workflows, Performance, and More


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-08-15 18:393880

评论

发布
暂无评论
发现更多内容

京东店铺所有商品数据接口(JD.item_search_shop)丨京东API接口

tbapi

京东API接口 京东商品数据接口 京东店铺所有商品数据接口 京东店铺数据接口

软件测试训练营|从原理到实战,四天带你轻松进阶Python

霍格沃兹测试开发学社

DAPP算力挖矿系统开发丨详情开发

l8l259l3365

软件测试/测试开发|一文带你了解Python列表操作

霍格沃兹测试开发学社

实时数仓投放主备链路Diff测试工具落地实践

得物技术

AI 数据

多功能矢量图编辑器:Boxy SVG最新激活版

胖墩儿不胖y

Mac软件 矢量图编辑器 矢量图编辑

【介绍篇】Supabase与Firebase的关系和区别

张文平

数据库 云服务 Baas Supabase firebase

【原理篇】Supabase关联查询:内联、外联及外键约束

张文平

外键 Function 关联查询 Supabase Postgrest

商智C店H5性能优化实战

京东科技开发者

前端

【鸿蒙千帆起】《开心消消乐》完成鸿蒙原生应用开发,创新多端联动用户体验

HarmonyOS开发者

HarmonyOS

CloudQuery的过去、现在和未来

BinTools图尔兹

CloudQuery

干货|EasyMR 基于 Kubernetes 应用的监控实践

袋鼠云数栈

大数据 Kubernetes 云原生 可观测性 Promtheus

【原理篇】Supabase应用开发为什么要配置RLS

张文平

权限 PgSQL Supabase 访问权限 Postgrest

技术文档指南:版本说明、网站文案、FAQ、案例研究与内容优化

小万哥

程序人生 软件工程 后端开发 技术写作 文档指南

逻辑回归算法是什么呢?

小齐写代码

开源协助平台工程灵活应对多云时代的挑战

SEAL安全

开源 运维 平台工程

自主研发国产堡垒机,助力企业信息安全可控

行云管家

网络安全 信息安全 堡垒机

报名启动|OpenHarmony源码转换器—多线程特性转换赛题

OpenHarmony开发者

OpenHarmony

面向Java应用网络流的非侵入可观测指标采集联合方案 – Sermant & Gopher

华为云开源

微服务 Java、 sermant

基于扁平化BOM的全业务应用领先实践,提升离散制造行业运营效率

用友BIP

智能制造

玩转数据世界:跨工作空间的安全授权与高效查询

观测云

数据可视化 数据授权

开启安全功能 ES 集群就安全了吗?

极限实验室

console 集群

软件测试/测试开发丨Python 列表

测试人

软件测试 测试开发

用友BIP全球司库助力陕西建工控股集团打造世界一流司库体系

用友BIP

全球司库

营销创意素材如何秒级智能生成?即时创意白皮书来了!

京东科技开发者

程序员会不会被人工智能取代?

ZA技术社区

程序员 #人工智能

Git 2.5增加了工作树、改进了三角工作流、性能等诸多方面_DevOps & 平台工程_Sergio De Simone_InfoQ精选文章