我正在从将要擦除的计算机克隆一个git存储库.
是否可以在不创建原始存储库的情况下克隆存储库origin/master?或者我是否需要克隆它,然后删除远程分支(已完成git remote rm origin)?
编辑:存储库只有一个分支,没有标记.
Jes*_*ers 24
没有必要使原始存储库成为克隆主分支的"origin"远程.
在新计算机上,创建一个新存储库:
git init foo
Run Code Online (Sandbox Code Playgroud)
然后将旧存储库拉入新存储库,而不创建远程存储库:
cd foo
git pull <reference to old repository>
Run Code Online (Sandbox Code Playgroud)
但是,应该注意的是,保存存储库的最简单方法是将存储库的目录压缩并将文件移动到新计算机.这将保留任何和所有遥控器,标签等.
如下所述,在复制存储库时,从区分大小写的文件系统(例如Linux,Mac,NTFS)到非区分大小写(例如Fat32)时要小心.
首先,您可以使用--origin <name>选项git clone
--origin <name>, - o <name>
不使用远程名称源来跟踪上游存储库,而是使用<name>.
其次,你可以使用git remote add添加库从现有的资料库获取(这样你就可以使用git init,然后git remote add <name> <url>).
如果你想创建一个存储库的镜像,refs/heads/*进入refs/heads/*克隆,你可以init存储,设置适当的refspec,然后fetch......
或者你可以使用git clone --mirror,它应该回答当前版本的OP问题.
然而,这将不会保留配置(包括遥控器),工作树状态,reflogs等.为此,您需要整理存储库,正如Jess Bowers所说.