当前位置:首页 > 科技  > 软件

Git Worktree 让你再也无需切换分支!

来源: 责编: 时间:2024-04-19 09:25:00 253观看
导读Hello,大家好,我是 Sunday。让我们假设一个场景:你正在某个分支中处理一个名为“feature”的功能,突然之间需要在主分支(master)中修复一个关键性 bug。如果没有使用 git worktree,那么你必须:在功能分支(feature)中存储或提交

Hello,大家好,我是 Sunday。cMC28资讯网——每日最新资讯28at.com

让我们假设一个场景:cMC28资讯网——每日最新资讯28at.com

你正在某个分支中处理一个名为“feature”的功能,突然之间需要在主分支(master)中修复一个关键性 bug。cMC28资讯网——每日最新资讯28at.com

如果没有使用 git worktree,那么你必须:cMC28资讯网——每日最新资讯28at.com

  1. 在功能分支(feature)中存储或提交更改
  2. 切换到主分支(master),在主分支中修复错误,提交修复
  3. 切换回功能分支,然后取消存储或检出更改。

特别是如果你需要多次来回切换,这就显得很麻烦了。cMC28资讯网——每日最新资讯28at.com

但是 如果使用了 git worktree 那么整个操作的流程就会变得更加简单。你可以直接拥有 feature 和 master 两个分支的单独工作目录 并且可以分别在不同目录之间完成开发工作,不再需要进行来回切换cMC28资讯网——每日最新资讯28at.com

使用 git worktree 完成修复工作

假设你目前在 feature 分支上,正在处理项目的开发工作。突然间,你需要在主分支上修复一个错误。cMC28资讯网——每日最新资讯28at.com

那么此时你可以使用以下命令为主分支创建一个新的工作树(worktree):cMC28资讯网——每日最新资讯28at.com

git worktree add ../bugfix master

该命令在当前存储库的相对路径 ../bugfix 处创建一个新目录,并在该目录中签出主分支。现在,你可以转到 bugfix 目录并修复 bug:cMC28资讯网——每日最新资讯28at.com

cd ../bugfix

你在这里进行的任何更改都将在主分支上进行,并不会影响其他分支。一旦完成了bug修复,则可以直接提交你的更改:cMC28资讯网——每日最新资讯28at.com

git commit -am "修复 bug"

现在,你可以返回到原工作目录并继续在原分支(feature)上完成之前的工作:cMC28资讯网——每日最新资讯28at.com

cd ../feature

在原分支(feature)中的完成过的代码依然存在,并且你不需要进行额外的存储和切换分支的操作。cMC28资讯网——每日最新资讯28at.com

这就是使用 git worktree 完成日常工作的操作流程,它 允许我们同时在多个分支上工作,并且每个分支都有自己的工作目录cMC28资讯网——每日最新资讯28at.com

让我们把整个过程梳理一遍:cMC28资讯网——每日最新资讯28at.com

## Push 操作# 从 bugfix 目录提交 bugfix 分支cd ../bugfixgit push origin master# 从 feature 目录提交 feature 分支cd ../featuregit push origin feature## Merge 操作# 切换分支到 mastercd ..git checkout master# 合并代码到 mastergit merge master# 合并到 featuregit merge feature## 删除操作git worktree remove ../bugfixgit worktree remove ../feature## 将合并后的更改推送到远程仓库git push origin master

git worktree 带来的其他好处

除了上述场景之外,git worktree 还有很多其他好处:cMC28资讯网——每日最新资讯28at.com

  1. 代码审查: 如果你正在审查多个分支的代码,可以在单独的 worktree 中检出每个分支。这样可以快速的在它们之间切换,而无需每次都执行检出的操作。
  2. 持续集成/部署: 如果你有一个需要同时处理同一存储库的多个分支的 CI/CD ,git worktree 可以让每个分支都在自己的 worktree 中,避免冲突。
  3. 长时间运行的任务: 如果你有一项长时间运行的任务(例如:测试套件或代码构建),你希望在一个分支上运行该任务的同时继续在另一个分支上工作,可以在一个目录中运行任务并在另一个目录中工作。(好吧,或许我不该告诉大家这个,因为本来这个时间你可以愉快地摸鱼的,哈哈)

本文链接:http://www.28at.com/showinfo-26-84001-0.htmlGit Worktree 让你再也无需切换分支!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 掌握Python循环:Enumerate和For的对比

下一篇: Vue3 实现超级有趣的功能:数字增长动画!!

标签:
  • 热门焦点
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对“势”的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • iQOO 11S评测:行业唯一的200W标准版旗舰

    【Techweb评测】去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,该机不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞
  • iQOO Neo8系列今日官宣:首发天玑9200+ 全球安卓最强芯!

    在昨日举行的的联发科新一代旗舰芯片天玑9200+的发布会上,iQOO官方也正式宣布,全新的iQOO Neo8系列新品将全球首发搭载这款当前性能最强大的移动平台
  • 回归OPPO两年,一加赢了销量,输了品牌

    成为OPPO旗下主打性能的先锋品牌后,一加屡创佳绩。今年618期间,一加手机全渠道销量同比增长362%,凭借一加 11、一加 Ace 2、一加 Ace 2V三款爆品,一加
Top