我目前正在修补 git worktrees,突然遇到了一个问题。我尝试了这里描述的有和没有裸克隆的两种方法:
https://infrequently.org/2021/07/worktrees-step-by-step/ 和 https://svij.org/blog/2017/04/14/mit-git-worktree-mehrere-arbeitsverzeichnisse-managen/ (格)
我当前的目录设置如下所示:
$ tree -aL 1
.
├── worktree-branch1
├── worktree-master
└── .git
当我输入 egworktree-master
并git rev-parse --show-toplevel
使用 git version运行时2.17.1
,它正确地将我指向工作树根目录。
当我现在在基于ubuntu:20.04
运行版本2.25.1
的 git 的 Docker 容器中执行相同操作时,我得到了
$ git rev-parse --show-toplevel
fatal: not a git repository: /home/me/git-project/.git/worktrees/worktree-master
这是这个特定版本的问题吗?或者 git 是否使用了一些在 Docker 容器中不起作用的奇怪魔法?
是否有解决方法来获取工作树顶层目录?