【问题标题】:Git worktree prune - what it does?Git worktree prune - 它的作用是什么?
【发布时间】:2018-01-20 02:11:22
【问题描述】:

我正在使用 git 版本 2.14.2.windows.2 并调用

git worktree add <newpath> <branch>

在“正常”存储库上创建工作树。这在 &lt;newpath&gt; 为分支 &lt;branch&gt; 创建了一个新的工作树结构,并添加了 .git/worktrees/&lt;newpath-name&gt; 和几个文件。

调用时

git worktree prune

&lt;newpath&gt; 开始,它什么也不打印,似乎什么也不做(&lt;newpath&gt;&lt;original-dir&gt;/.git/worktrees 中的所有文件都被保留)。 Git documentation 写道:

修剪 $GIT_DIR/worktrees 中的工作树信息。

这没有多大帮助。实际上git worktree prune 做了什么或应该做什么?我认为它会删除工作树以撤消 git worktree add 的假设是错误的吗?

【问题讨论】:

    标签: git


    【解决方案1】:

    git worktree prune 删除有关(非锁定)不再存在的工作树的信息。例如,

    $ mkdir a
    $ cd a
    $ git init
    $ git commit --allow-empty --allow-empty-message -m ''
    $ git worktree add ../b
    $ ls .git/worktrees/
    b
    $ rm -rf ../b
    $ git worktree prune
    $ ls .git/worktrees/
    $
    

    【讨论】:

    • 啊,所以要删除工作树,我们只需要删除工作树,然后在工作树的原始存储库上调用git worktree prune
    • @ThomasS。实际上,使用 Git 2.17+(2018 年第二季度),git worktree remove 就足够了:请参阅我的 answer here
    猜你喜欢
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 2014-02-14
    • 1970-01-01
    • 2016-12-15
    • 2018-10-12
    • 1970-01-01
    相关资源
    最近更新 更多