问题描述
我使用git worktree概念创建多个工作目录。每个功能和/或错误修复一个。 因此,我将一次创建存储库的git克隆,然后根据需要开始创建工作树。
当我克隆一个git仓库时,默认情况下会检出一个工作目录-主工作树。我们不使用并且不必要地占用了空间。因此,我正在寻找一种创建git repo的方法,并在开始时将工作目录检出。
我尝试了git clone --bare <url> ./test-git
实际上创建了一个没有工作目录的git repo,但是我无法从中创建一个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'.
- 我在做什么错了?
我进入了根据.git
命令创建的git clone bare
目录,发现缺少index
文件和lfs
目录。
这两项将出现在从完整git克隆创建的.git
目录中。
- 这两项表明什么?
- 在运行什么git命令时,我会得到这些项目吗?
解决方法
我们可以使用-
创建一个没有工作副本的git存储库git clone -n <url>
这只会创建一个目录(带有存储库名称),其中包含.git
目录。
注意:此外,我希望使用git clone --bare还应该提供类似的功能。但是还不能弄清楚。