博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git 2.5增加了工作树、改进了三角工作流、性能等诸多方面
阅读量:6480 次
发布时间:2019-06-23

本文共 1175 字,大约阅读时间需要 3 分钟。

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 }
\\

使用任意分支。

\\

性能

\\

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

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

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

\\

查看英文原文:

\\

感谢对本文的审校。

\

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

转载地址:http://aswuo.baihongyu.com/

你可能感兴趣的文章
[问题解析] 记一次__do_global_ctors_aux导致的coredump
查看>>
中台之上(十四):尝试构建轻量级架构设计工具
查看>>
苹果Q1财报出炉:手机收入下滑15%,服务收入增长19%
查看>>
一文看懂.NET的各种变体
查看>>
HAProxy 1.9发布,支持端到端 HTTP/2,改进缓冲区和连接管理
查看>>
与专门团队一起持续交付
查看>>
C# 8的新提案:new关键字类型推断
查看>>
通过Jinq简化数据库查询
查看>>
Windows 10 超过Windows 7成为最受欢迎的操作系统
查看>>
本地vs云:大数据厮杀的最终幸存者会是谁?
查看>>
已经到来的革命
查看>>
机器人操作系统来到Windows
查看>>
绩效考核如何跟工资、等级挂钩?
查看>>
Eclipse更新了Eclipse公共许可(EPL)
查看>>
关于Visual Studio 2019的前期详情
查看>>
知道大数据却不清楚工业大数据,知识架构“欠”在哪里?
查看>>
“LinkedOut” 失败注入测试框架
查看>>
甲骨文解散Java Mission Control团队事件新进展
查看>>
前端阅读笔记 2016-11-25
查看>>
几种有效的清除浮动的方法
查看>>