复制克隆的repo并签出新的分支

时间:2018-01-09 16:11:17

标签: git

如果我克隆了repo的主分支,我可以复制这个repo并将其粘贴到另一个文件夹中并结帐另一个分支吗?

我问的原因是因为克隆的回购非常庞大,每个跟踪都需要一个新的数据库才能正常运行。因此,我选择为我使用的每首曲目创建一个新目录。

谢谢!

1 个答案:

答案 0 :(得分:0)

你可以做几件事。

最好的办法是将额外的工作树附加到仓库。这样可以避免重复包含项目历史记录的数据库。它避免了必须保持两组ref同步。这通常是我建议同时检查多个版本的方式。

所以我签了master,我想查看一个名为other-version的分支:

git worktree add /path/to/new/working/directory other-version

有关链接工作树的详细信息,请参阅https://git-scm.com/docs/git-worktree

如果出于某种原因,这不能满足您的需求,您可以创建第二个克隆。您可以第二次从原点克隆,也可以从已有的本地副本克隆。 (从本地克隆意味着默认情况下,您可以从一个本地存储推送到另一个本地存储,这可能是好的或坏的。本地克隆的一个优点是git可以通过使用链接来避免重复数据库。 )

如果您不希望本地人相互关联,但您不想从遥控器重新克隆大型仓库,则可以

cd /path/to/repo/parent/dir
git clone file://localhost/path/to/repo/parent/dir/repo1 repo2
cd repo2
git remote remove origin
git remote add origin url/to/the/original/remote

这与仅根据原始问题复制磁盘上的回购非常相似,但我推荐这种类型的程序(主要是出于偏执的原因)。