git worktree学习

转自:https://blog.csdn.net/qq_35067322/article/details/121551469

https://jasonkayzk.github.io/2020/05/03/Git-Worktree的使用/

1.介绍

当在一个仓储下,在A分支编译时,是不能切到B分支上工作的,只能等着A编译完成,很影响效率。所以可以使用worktree命令新建一个工作分支。

步骤1:在A分支上编译前,使用以下命令新建一个关于devB分支的目录:

git worktree add ../devB devB

步骤2:切换到新目录下,切换到目标分支B开发,可以在新目录下

分支A已经编译完成后,那么如果再切换回原来的目录,是无法切换到分支B的,会报错:

所以直接在devB目录下推到远程就行,直接之后都在devB上开发,devB开发完成合并到远程分支后,删除devB就行。相当于新建的worktree接管了该分支,在原来的目录下不能切换到该分支,除非将新建的worktree list删除,两个独立的目录。

相关命令: 

# 列出当前仓库已经存在的所有 worktree 的详细情况,包括每个 worktree 的关联目录,当前的提交点的哈希码和当前 checkout 到的关联分支。
git worktree list  

# 删除worktree, 同时删除检出目录,当git版本2.17.0时,用该方法删除新建的worktree
git worktree remove -f <worktree>

#当git版本较低时,需要先手动删除目录,再prune删除worktree
$ git worktree list
$ rm -rf path/to/worktree
$ git worktree prune

 

posted @ 2024-03-18 21:52  lypbendlf  阅读(8)  评论(0编辑  收藏  举报