0

我已经使用--mirror标志克隆了我的仓库,如果是的话,我可以从中签出分支吗?如果没有,为什么?

git branch向我显示所有分支的列表,但git checkout branch-name给我错误提示:
fatal: This operation must be run in a work tree

4

1 回答 1

1

参考官方文档

--mirror

设置源存储库的镜像。这意味着--bare。与 相比--bare--mirror不仅将源的本地分支映射到目标的本地分支,它还映射所有 refs(包括远程跟踪分支、注释等)并设置 refspec 配置,以便所有这些 refs 都git remote update被目标存储库。

--mirror使用您隐式使用该选项的选项进行克隆,该选项--bare创建一个没有工作树的存储库。
--bare选项主要用于服务器端或特定用例。

在你的情况下,你不应该直接使用你的镜像仓库,因为没有工作树,不适合编辑文件或 git 命令作为git checkout. 您应该git clone your-mirrored-repo(不带--bare/--mirror选项)拥有一个完整的工作树,从镜像仓库开始,您可以在其中使用所有 git 命令或直接编辑文件。

于 2020-06-20T10:14:17.577 回答