一 worktree 的基本概念和操作

再也不用克隆多个仓库啦!git worktree 一个 git 仓库可以连接多个工作目录 - walterlv的专栏 - CSDN博客
再也不用克隆多个仓库啦!git worktree 一个 git 仓库可以连接多个工作目录 - walterlv

二 语法速览

  • 最简单的写法:
    git worktree add <新路径>
    将基于当前分支,新建一个 worktree 目录,新的分支名就是新建目录的名称。

  • 新建一个指定分支
    git worktree add <新路径> -b <新分支名>
    将基于当前分支,新建一个 worktree 目录,新的分支名是指定的名称。

  • 基于指定分支新建一个指定分支
    git worktree add <新路径> -b <新分支名> <指定分支名>
    将基于指定分支,新建一个 worktree 目录,新的分支名是指定的名称。

三 注意事项

  • 新路径一般是类似 ../myproject-bugfix 这样的命名,是相对路径,注意,这里一定是两个点:
    ../myproject-bugfix
    表示在当前目录的父目录新建,这样才是与原工程目录平级。(当前,你当前得在原工程的跟目录中。)
    总之,注意相对路径。

  • 使用 git reset --hard 重置新的 worktree
    如果使用了 git worktree add <新路径> 最简单的方法新建,通常分支需要重新命名,基于的分支也要改。
    可使用 git reset --hard <要基于的分支名> 重置到想要的分支,使用 git branch -D <想要删除的分支名> 删除自动创建的与目录名相同的分支。

四 其它废话

相比复制多个仓库,肯定是 worktree 的方式更高效。
当然,worktree 不允许两个 worktree 使用同一个分支。如果有这个需要怎么办?新建一个分支,reset 到目标分支,再基于这个新分支工作,效果一样。
但如果你经常需要在两个目录中使用同一个分支,那么可能是分支管理或工作方式需要改进。

另外,不使用的 worktree 尽早删除,并运行 git worktree prune 清理。

原文链接:
https://www.cnblogs.com/jasongrass/p/11178079.html

最新文章

  1. Java多线程与并发库高级应用-面试题
  2. 手机浏览器,微信中播放amr录音
  3. IO复用与select函数
  4. oracle 拼接一张表所有字段
  5. 设计模式_Composite_合成模式
  6. Java基础学习第二天
  7. hdu 畅通工程
  8. 实现Jquery触发一事件后,停留5秒,再接着触发下面的事件
  9. js手写图片查看器(图片的缩放、旋转、拖拽)
  10. MySQL索引(1)
  11. CommonJS, AMD ,CMD之间的关系
  12. 使用axios以及http-proxy-middleware代理处理跨域的问题
  13. Linux文本编辑器vim
  14. ROS Kinetic Install on Debian 9
  15. 反射(I)
  16. mac 蓝牙开启调试模式
  17. jenkins自动构建部署
  18. selinux操作
  19. docker registry 私有仓库 安装配置、查询、删除
  20. 利用BitviseSSH免root实现Windows vs Linux的文件互传

热门文章

  1. Django模型层—ORM
  2. windows cmd 生成文件目录树
  3. Mbp,一个用于学习.net core的开发框架
  4. 关于EXIT和BADI增强的查找
  5. 使用百度大脑iOCR,快速自定义机票行程单模板识别
  6. CentOS 上配置 lua 的服务器环境(enet)
  7. UE4入门学习笔记开篇
  8. 【mail邮件系统】linux上安装部署sendmail邮件系统
  9. Path Manipulation 路径操作
  10. C#/.Net开发入门篇(3)——console类的输入输出