代码写到一半需要切去修 bug,不一定要先 stash,也不必再克隆一份仓库。git worktree 可以让同一个仓库拥有多个工作目录,各自检出不同分支。… · @BaiBtw · TwKit
@BaiBtw
代码写到一半需要切去修 bug,不一定要先 stash,也不必再克隆一份仓库。git worktree 可以让同一个仓库拥有多个工作目录,各自检出不同分支。 例如执行 git worktree add -b hotfix ../hotfix main,会从 main 新建 hotfix 分支,并在旁边的 hotfix 目录检出。原目录里的未提交修改可以留着,新目录用来修问题;也适合一个目录编译,另一个目录继续开发。 各个工作树有自己的 HEAD 和暂存区,但共享仓库历史与分支引用,并不是完全独立的仓库。同一分支默认不能同时在两个工作树中检出。 用 git worktree list 查看工作树;完成后用 git worktree remove ../hotfix 移除。默认只允许移除没有未提交修改和未跟踪文件的干净工作树。对子模块的支持仍不完整,包含子模块的主项目不建议这样做多重检出。
曝光 96 · 评论 0 · 点赞 1 · 书签 0
查看原帖