【发布时间】:2019-09-04 19:42:27
【问题描述】:
我正在尝试找出是否有任何方法可以交换工作树。我的公司有很多假定特定目录结构的脚本,因此为了能够使用多个工作树,我需要“新”链接工作树来代替主工作树。
我找到了git worktree move <worktree> <new-path>,但这不允许移动“主要”工作树,因此没有机会交换。
理想情况下,应该有一个git worktree swap <worktree> <path>,其中:
- 如果
<path>是工作树,则交换它们 - 如果
<path>是commit-ish,它会为commit-ish 添加一个带有<worktree>名称的新工作树,然后交换它们
【问题讨论】:
-
那么你的公司脚本很简单。在正确编写的一个中,管理员必须能够设置树的根路径。我强烈建议修复您的脚本。
-
@0andriy 我很清楚他们很烂,并且有意更新脚本。不幸的是,在为一家大公司工作时,您不能始终确保所有脚本都适用于每种情况,因此如果 repo 可以模仿明显的预期条件,那就更安全了。所以我想说你的评论非常无益,因为它试图掩盖一个仍然存在的问题。当新程序员不熟悉工具/技术的每个功能时,他们总是会做出不安全的假设。
标签: git git-worktree