转自:[https://www.jianshu.com/p/9d411fed8f7f](https://www.jianshu.com/p/9d411fed8f7f) 假设这样一个场景,你做完了一个功能,正在跑漫长的测试。 喝茶,上厕所,回来一看,这测试竟然还在跑。 闲着也是闲着,修复下 bug 吧。 但是测试跑着,你不能随便动工作区的代码。 这时候应该怎么办? 答:使用 git worktree命令 假设你有这样一个工作库: ![img](../../../../ff_internal_upload/img/2017/2625737-a9a6b4681d3f9670.png) 工作库 现在,我们不动这里面的代码,我们开启一个新“工作区”开做一些事情,比如把 123456 改成 654321 ![img](../../../../ff_internal_upload/img/2017/2625737-cdfd1d9a8f4b82ed.png) 好啦,我们几乎在 ../new-space里面搞了一个当前工作区的副本。 现在开始修改里面的文件。 ![img](../../../../ff_internal_upload/img/2017/2625737-e1ba1c523c874036.png) 修改文件 文件修改完成了,漫长的测试也跑完了,一次性通过,真棒! 现在就需要把 new-space 里面的 new-branch 分支合并到“主树” ![img](../../../../ff_internal_upload/img/2017/2625737-a3f0a64db63a06fb.png)