git worktree 上手指南

一、worktree概念及应用场景

概念:worktree的意思是工作树,同一个仓库可以对应多个worktree、分支。

应用场景: 可以再多个分支同时工作并且不影响,如果遇到一套代码要对应多个产品的情况,那么worktree将会是很好的解决方案。

官方文档半中文文档

 

二、使用方法:

1、创建一个文件夹worktree,在里面再建一个文件夹content,在content里面创建test.txt,随便写点字符串。文件目录如图

2.初始化仓库——>git init  ,添加——>git add .    , 提交到本地仓库——>git commit -m 'first commit'。不过我比较喜欢用vscode,安装GitLens

 

3.使用worktree,

git worktree add [-f] [--detach] [--checkout] [--lock] [-b <new-branch>] <path> [<commit-ish>]
git worktree list [--porcelain]
git worktree remove [-f] <worktree>
git worktree prune [-n] [-v] [--expire <expire>]

 

(1)简单使用:git worktree add <新路径> ,如:git worktree add ../test

 

输入这命令即意味着创建一个同层的文件夹、分支,名字都叫test。

(2)指定分支名称:git worktree add <新路径> -b <新分支名>  如:git worktree add ../hasOwnBranch -b ownBranch

 

 发现多了个worktree。

 

(3)给新建分支指定分支:git worktree add <新路径> -b <新分支名> <指定分支名>

先修改test.txt内容,注意切换到ownBranch这个worktree对应的ownBranch再进行修改。那怎么切换worktree呢?点击这个文件夹的标志。修改完commit。以此为父本,创建新的worktree。

 

输入:git worktree add ../newTree -b newBranch ownBranch

 

如果创建的worktree没有出现,那就点击刷新一下。

 

切到新的 newBranch后,即可发现test.txt的内容为ownBranch的

(4)删除git worktree remove targetTree或者右键选择删除。

 

 

如果你觉得以上太麻烦了,直接在根文件夹输入:

 

git worktree add ../newTree targetBranch 
// newTree 工作树名
// targetBranch  目标分支

 

posted @ 2022-05-11 17:45  Sofiaღ  阅读(4014)  评论(0编辑  收藏  举报