最佳实践之Git worktree

0x00 实践感受总结:

worktree开发模式适合那些在本项目git仓库内就能独立运行的,不依赖其他仓库代码的项目。

  1. 适合 前端Vue、React、ReactNative等项目;
  2. 不适合多仓库协同运行的项目开发:如iOS引入pods管理三方库的工程。因为三方库需要集成到宿主里面才能运行,变动了pod库的worktree,也就意味变动了目录,需要重新pod install才会生效,实际开发起来并不方便。

0x01 初级用法:

  1. 进入git仓库根目录,创建新的worktree,路径一般和工作目录同级
    git worktree add -b <新分支名> <新路径> <从此分支创建>
    
  2. 之后cd到刚才创建的目录中,进行开发
  3. 开发结束后直接删除刚才创建的目录,然后执行下面的命令清理worktree即可
    git worktree prune
    

0x02 进阶使用

进阶用法参考了日拱一兵这位大神的文章,这里表示感谢,建议大家点进去阅读一下,里面用图文并茂的方式详细介绍了git bare的原理。

  1. 首先,创建一个目录作为你项目的根路径(比如这里叫myrepo), 并cd进去
    mkdir myrepo
    cd myrepo
    
  2. 接下来以bare的形式, 将仓库clone到项目根路径下的.bare文件夹内
    git clone --bare git@xxx.git .bare
    
  3. 在项目根路径下创建一个.git文件,文件内容是以gitdir的形式指向我们的.bare文件夹, 并修改.git文件为:
    gitdir: ./.bare
    
  4. 编辑.bare/config文件,并修改[remote "origin"]内容,和下面内容保持一致。这确保我们创建worktree 切换分支,可以显示正确的分支名称
    在url = xxx下面添加一行:
    fetch = +refs/heads/*:refs/remotes/origin/*
    
  5. 接下来就可以创建worktree了,首先我们要为master分支创建 worktree
    git worktree add master
    
  6. 添加其他分支
    remote-branch 不用带origin路径
    a. 添加远端不存在的分支
    git worktree add -b <local-branch> <remote-branch>
    
    b. 添加远端存在的分支
    git worktree add <local-branch> <remote-branch>
    
  7. 最后想在哪个分支上开发,就直接进入相应的目录开发就可以了。

0x03 感谢

感谢日拱一兵大神的文章,博客在这里:https://www.cnblogs.com/FraserYu/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值