我有一个本地git仓库,我从远程克隆(github,比方说)。这里的分支与它们拉动和推动的上游相关联。
我想制作一个新的本地副本,这样我就可以在本地不同的分支上同时开发。
我可以从远程仓库中git clone …
,但这需要一段时间才能通过慢速链接。
相反,我想从本地回购中git clone
,但效果就好像我做了git clone
遥控器一样。因此,新副本中的分支将从远程执行拉取。对于需要遥控器的任何其他操作,它将使用原始遥控器。
我该怎么做? ......我应该cp -r repo repo-clone
吗?
答案 0 :(得分:5)
如果您实际上不想要新的克隆,但只是为不同的分支机构签出多个工作树,您可能也会考虑使用`git worktree'。
如果你真的想要克隆并保存时间和带宽以供下载,你可以像往常一样从远程执行克隆,但是添加--reference <local repository>
以使用本地存储库中的Git对象而不是从遥控器。这将使用参考存储库中的对象而不复制它们,因此如果您执行某些Git清理可能会删除第二个克隆中需要的对象。 G。删除仍在新存储库中的引用存储库中的分支,并且在引用存储库中不再可以访问提交。如果您想花费额外的磁盘空间来克服这个问题,请另外使用--dissociate
来实际复制参考存储库中的对象。
答案 1 :(得分:0)
您可以从本地仓库git clone /local/git/repo
使用
git remote rename origin old_origin
git remote add origin <PATH>
添加远程仓库。 并且可能用
删除初始回购 git remote remove old_origin
使用git remote -h
获取更多信息