git: worktree命令介绍和使用

文章目录

git worktree 是 Git 提供的一个强大功能,允许你在同一个 Git 仓库中同时检出多个分支,而无需克隆多个副本。每个工作树(worktree)都有独立的工作目录、暂存区和 HEAD,但共享同一个 .git 仓库对象数据库,从而节省磁盘空间和提升效率。

https://git-scm.com/docs/git-worktree/zh_HANS-CN


一、基本概念

  • 主工作树(main worktree):即你正常 clone 或 init 的那个目录。
  • 链接工作树(linked worktree):通过 git worktree add 创建的额外工作目录,指向同一仓库的不同分支(或提交)。

二、常用命令

命令说明
git worktree add <path> <branch><path> 创建一个新工作树,检出 <branch>
git worktree list列出当前仓库所有工作树及其状态
git worktree remove <path>删除指定路径的工作树(需先清理干净)
git worktree prune清理已失效(如被手动删除)的工作树记录

三、使用示例

1. 创建一个新的 worktree

假设你在主分支 main 上工作,但需要同时在 feature/login 分支上开发:

# 在当前仓库目录下执行git worktree add../myproject-login feature/login 

这会在 ../myproject-login 创建一个新目录,自动检出 feature/login 分支。

你可以同时在两个目录中独立工作:

  • myproject/:处于 main 分支
  • myproject-login/:处于 feature/login 分支

两者共享同一个 Git 仓库数据(对象、refs 等),但工作文件互不影响。

2. 查看所有 worktree
git worktree list 

输出示例:

/path/to/myproject abcd123 [main] /path/to/myproject-login ef45678 [feature/login] 
3. 删除 worktree

确保目标目录已 clean(无未提交更改),然后:

git worktree remove ../myproject-login 

或手动删除目录后运行:

git worktree prune 

四、注意事项

  • 不能在同一分支上创建多个 worktree(Git 会报错)。
  • 不能删除当前正在使用的工作树。
  • git worktree add 如果指定的分支不存在,会自动基于当前 HEAD 新建。
  • 所有 worktree 共享配置(如 git config),但可以单独设置局部配置(在各自目录下使用 git config 会写入共享 .git/config,建议谨慎)。

五、典型使用场景

  • 并行处理多个分支:比如同时修复 bug(hotfix)和开发新功能(feature)。
  • CI/CD 脚本中快速切换分支构建,避免重复 clone。
  • 文档构建:主分支写代码,gh-pages 分支生成文档,用 worktree 同时维护。

六、兼容性

  • git worktreeGit 2.5(2015 年)起引入。
  • 推荐使用 Git 2.15+ 以获得更稳定的体验。

Read more

Python YOLOv8 进阶教程

Python YOLOv8 进阶教程 一、YOLOv8技术深度解析 1.1 YOLO算法发展历程 YOLO(You Only Look Once)是由Joseph Redmon等人提出的单阶段目标检测算法,自2016年发布以来经历了多次迭代: * YOLOv1:首次提出单阶段检测思想,将目标检测转化为回归问题 * YOLOv2:引入批量归一化、锚框机制和多尺度训练,提升检测精度 * YOLOv3:使用Darknet-53骨干网络,引入多尺度预测和残差连接 * YOLOv4:结合CSPNet、Mosaic数据增强等多种优化技术 * YOLOv5:Ultralytics团队推出的版本,以易用性和高性能著称 * YOLOv6:美团团队推出的工业级目标检测框架 * YOLOv7:提出可微辅助分支和动态标签分配等创新技术 * YOLOv8:Ultralytics团队2023年推出的最新版本,支持检测、分割、姿态估计等多种任务 1.2 YOLOv8核心特性 YOLOv8在保持YOLO系列一贯的高速检测特性的同时,在精度和易用性上有了显著提升: * 多任务支持:目标

By Ne0inhk
华为OD机考双机位C卷- 货币单位换算(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷- 货币单位换算(Java & Python& JS & C/C++ & GO )

最新华为上机考试 真题目录:点击查看目录 华为OD面试真题精选:点击立即查看 2025华为od机试双机位C卷 -华为OD上机考试双机位C卷 题目描述 记账本上记录了若干条多国货币金额,需要转换成人民币分(fen),汇总后输出。 每行记录一条金额,金额带有货币单位,格式为数字+单位,可能是单独元,或者单独分,或者元与分的组合。 要求将这些货币全部换算成人民币分(fen)后进行汇总,汇总结果仅保留整数,小数部分舍弃。 元和分的换算关系都是1:100,如下: * 1CNY=100fen(1元=100分) * 1HKD=100cents(1港元=100港分) * 1JPY=100sen(1日元=100仙) * 1EUR=100eurocents(1欧元=100欧分) * 1GBP=100pence(1英镑=100便士) 汇率表如下: 即:100CNY

By Ne0inhk
我用 Python 写了个GitHub AI Agent,每天自动帮我挖掘 GitHub 热门项目,还能举一反三!

我用 Python 写了个GitHub AI Agent,每天自动帮我挖掘 GitHub 热门项目,还能举一反三!

前言 都 2026 年了,你还在每天手动刷 GitHub Trending 吗? 作为一个热衷于技术的开发者,每天早上都有个习惯:打开 GitHub Trending 看看今天全球的开发者都在搞什么新花样。但问题来了:信息过载:榜单上几十个项目,大部分是英文 README,读起来费劲。不知所云:有些项目介绍写得很晦涩,看了半天不知道它能解决什么痛点。看完就忘:刷完感觉很爽,但没有思考“这个项目能用在我的什么业务里?” 于是我突发奇想:为什么不让 AI 帮我读? 花了个周末,我开发了一个 GitHub Insight Agent。它能自动爬取热门项目,投喂给 DeepSeek/OpenAI 进行深度分析,还能举一反三地告诉我这个项目能用来做什么赚钱/提效,最后把整理好的“情报日报”推送到我的飞书/钉钉。 重点是:完全开源,完全免费(

By Ne0inhk