我曾经git worktree add创建过一个新的工作树.我注意到它在repo中创建了一个与工作树同名的新分支.这个分支是什么?
我已在第二个工作树中检出了另一个已存在的分支.我可以自由删除git worktree add创建的分支吗?
vah*_*eds 20
当其他人回答这个问题时,我把命令删除folder,删除worktree和删除branch:
首先,列出你所有的工作都要仔细检查......
$ git worktree list
Run Code Online (Sandbox Code Playgroud)
然后,删除工作树的文件夹
$ rm -rf ../path/to/worktree
Run Code Online (Sandbox Code Playgroud)
之后,删除工作树本身
$ git worktree prune
Run Code Online (Sandbox Code Playgroud)
如果你有多个工作树,上面的命令只修剪它的路径不再存在的工作树,所以不要担心!
最后,删除分支(与工作树相同的分支名称)
$ git branch -D <branch-name>
Run Code Online (Sandbox Code Playgroud)
rod*_*igo 12
分支是必要的,因为您不能同时在不同的工作树中检出相同的分支.
因此,如果在添加工作树时没有指定分支,那么git将根据您当前的分支和worktree目录的名称自动添加一个分支.
你可能会问,为什么我不能两次同一个分支结账?想想当你提交B时工作树A会发生什么,如果他们都共享分支......工作树A会看到B中的提交作为本地差异,但反之亦然!就像你做的那样git reset --soft HEAD^......那将是非常危险的.
顺便说一句,这就是为什么你不能推送到已检出的非裸存储库的分支的原因.
关于你的上一个问题:你能删除分支吗?当然,那个分支绝不是特别的.只要没有在任何地方签出,您就可以删除它.