0

我有一个空的 Git 存储库(即它还没有提交)。有没有办法为此仓库使用git worktree add命令(带--no-checkout选项)创建工作树?我的意思是指示 Git 不要将新创建的工作树与任何相关联HEAD

4

1 回答 1

3

在完全空的存储库中,不能有分支,因为每个分支名称必须标识一个实际的现有提交。1 但是,主工作树必须位于某个分支上。因此,Git 将它放在一个不存在的分支上,Git 将其称为未出生分支(在各种消息和内部代码中)和孤立分支(在类似的标志中git checkout --orphan)。

理论上,git worktree add还可以允许--orphan, 将新的工作树放在未出生的分支上。但是,它目前不这样做。如果您希望为 Git 编写允许它执行此操作的新代码,并将其发送给 Git 维护人员,它可能是包含在未来 Git 版本中的候选者。包含某种相当有说服力的用例可能是个好主意。

在那之前,您不能这样做:您必须至少进行一次初始提交(然后允许创建无限数量的分支名称)。


1这个约束有点武断,但 Git 无论如何都会做到,所以必须忍受它(或重写 Git)。

于 2021-08-09T18:55:30.630 回答