我可以从本地 git 镜像克隆结帐分支吗?



我已经使用--mirror标志克隆了我的存储库,如果是,我可以从中结帐分支吗? 如果没有,为什么?

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

参考官方文档:

--mirror

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

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

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

最新更新