我已经使用--mirror
标志克隆了我的仓库,如果可以,我可以从中检出分支吗?如果没有,为什么?
git branch
显示了所有分支的列表,但是git checkout branch-name
给了我错误提示:
fatal: This operation must be run in a work tree
答案 0 :(得分:1)
请参考官方docs:
--mirror
设置源存储库的镜像。这意味着
--bare
。与--bare
相比,--mirror
不仅将源的本地分支映射到目标的本地分支,还映射了所有引用 (包括远程跟踪分支,注释等),并设置一个refspec 配置,以便所有这些引用在目标存储库中被git remote update
覆盖。
使用--mirror
选项克隆您将隐式使用--bare
选项,这将创建一个没有工作树的存储库。
--bare
选项主要用于服务器端或特定用例。
在这种情况下,您不应直接使用镜像存储库,因为它没有可用的树,因此不适合用于编辑文件或git checkout
的git命令。
您应该git clone your-mirrored-repo
(没有--bare
/ --mirror
选项)具有完整的工作树,从镜像存储库开始,您可以在其中使用所有git命令或直接编辑文件。