Git worktree修剪 - 它做什么?

时间:2018-01-19 17:36:05

标签: git

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

git worktree add <newpath> <branch>

在“普通”存储库上创建工作树。这为分支<newpath> <branch>创建了一个新的工作树结构,并为.git/worktrees/<newpath-name>添加了几个文件。

调用

git worktree prune
来自<newpath>

它没有打印任何内容,似乎什么都不做(<newpath><original-dir>/.git/worktrees中的所有文件都被保留)。 Git documentation写道:

  

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

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

,我错了

1 个答案:

答案 0 :(得分:7)

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/
$