Git worktree: 同時開多個工作目錄

栏目: 编程工具 · 发布时间: 8年前

内容简介:Git worktree: 同時開多個工作目錄

Git 的 worktree 是 Git 2.5 納入的指令,有點相見恨晚啊。

有在用 Git 的都知道如果工作目錄(working tree)修改到一半的話,是不能隨便切換 branch 的。解決方式是要麻是 git stash 先暫存起來,不然就是先暫時 commit 等會再 reset 回來。這都還好。

但是,還是會碰到一些需要同時處理的情況,例如想要同時修改或對照不同 branch、或是一邊跑測試一邊繼續寫code、甚至是想同時測試不同 branch 等等。這時候就得另外 clone 一個目錄,但這就是麻煩的開始,不同的 repo 目錄要怎麼同步最新的修改? 重新複製目錄? 先 git push 再 pull 一次? 總之就是有點繞啊。

git worktree 這個神奇的指令可以創造出另一個工作目錄,例如:

$ git worktree add -b hotfix ../hotfix master
Preparing ../hotfix (identifier hotfix)
HEAD is now at 46d363dc XXX

如此就會在上一層新建立一個 hotfix 目錄,並新建一個分支 hotfix 。這種工作目錄叫做 linked working tree。

cd ../hotfix 就是一個乾淨從 master 分出來的 hotfix 分支,可以在這邊做事。最後 commit 完事之後,直接 rm -rf 砍掉這個 hotfix 目錄(放心,東西已經進 branch,這可以砍掉了),接著 git worktree prune 就會清除 linked working tree 記錄了。不清除也沒關係,三個月後也會自動清掉。

不過如果你把 linked working tree 放在會被移除的裝置上,例如外接硬碟上,這樣可能會不小心被 Git 清掉。這時候需要用 git worktree lock 指令。

最後, git worktree list 則會列出目前所有的工作目錄。


以上所述就是小编给大家介绍的《Git worktree: 同時開多個工作目錄》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法精解

算法精解

Kyle Loudon / 肖翔、陈舸 / 机械工业出版社 / 2012-8 / 79.00元

本书是数据结构和算法领域的经典之作,十余年来,畅销不衰!全书共分为三部分:第一部分首先介绍了数据结构和算法的概念,以及使用它们的原因和意义,然后讲解了数据结构和算法中最常用的技术——指针和递归,最后还介绍了算法的分析方法,旨在为读者学习这本书打下坚实的基础;第二部分对链表、栈、队列、集合、哈希表、堆、图等常用数据结构进行了深入阐述;第三部分对排序、搜索数值计算、数据压缩、数据加密、图算法、几何算法......一起来看看 《算法精解》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具