我正在使用 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
?
答案 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/
$