如何在没有工作目录的情况下创建 git 存储库?

How to create a git repo without a working directory?

我使用 git 工作树概念来创建多个工作目录。每个功能一个 and/or 错误修复。 因此,我将创建一个存储库的 git 克隆一次,然后根据需要开始创建工作树。

当我克隆一个 git 存储库时,默认情况下会检出一个工作目录 - 主工作树。我们不使用并且不必要地占用 space。因此,我正在寻找一种方法来创建一个 git 回购协议,并在开始时检出一个工作目录。

我试过了git clone --bare <url> ./test-git

实际上创建了一个没有工作目录的 git 存储库,但我无法从中创建一个 git 工作树。我用来抛出以下错误 -

bash-4.4 [/user/darshan/test-git] $git worktree add -b test-git-worktree.repo ../test-git-worktree origin/repo
Preparing worktree (new branch 'test-git-worktree.repo')
fatal: Not a valid object name: 'origin/repo'.
  1. 我做错了什么?

我进入了由 git clone bare 命令创建的 .git 目录,发现缺少 index 文件和 lfs 目录。 这两项将出现在从完整 git 克隆创建的 .git 目录中。

  1. 这两项表示什么?
  2. 在 运行 什么 git 命令上我会得到这些物品?

我们可以使用 -

创建没有工作副本的 git 存储库
git clone -n <url>

这只是创建一个目录(带有存储库名称),其中包含 .git 目录。

注意:此外,我希望使用git clone --bare 也应该提供类似的功能。但还没有弄清楚。