[英]Can I checkout branch from local git mirror clone
我已经使用--mirror
标志克隆了我的仓库,如果是的话,我可以从中签出分支吗? 如果没有,为什么?
git branch
向我显示了所有分支的列表,但git checkout branch-name
给我错误提示:
fatal: This operation must be run in a work tree
参考官方文档:
--mirror
设置源存储库的镜像。 这意味着
--bare
。 与--bare
相比,--mirror
不仅将源的本地分支映射到目标的本地分支,它还映射所有 refs(包括远程跟踪分支、注释等)并设置 refspec 配置,以便所有这些 refs被目标存储库中的git remote update
覆盖。
使用--mirror
选项进行克隆时,您会隐式使用--bare
选项,它会创建一个没有工作树的存储库。
--bare
选项主要用于服务器端或特定用例。
在你的情况下,你不应该直接使用你的镜像仓库,因为没有工作树,不适合编辑文件或 git 命令作为git checkout
。 您应该git clone your-mirrored-repo
(不带--bare
/ --mirror
选项)以获得完整的工作树,从镜像仓库开始,您可以在其中使用所有 git 命令或直接编辑文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.