创建github存储库的“重复副本”

时间:2012-06-26 21:01:37

标签: git github repository duplicates clone

我看到类似问题的答案,我确信我可能对Git和Github术语不够熟悉,不知道它们是否适用于我的问题。我需要做的是克隆一个现有的Github远程存储库(一个私人存储库,根据我有贡献者访问的另一个人的用户名),并在我的帐户下创建一个新的私人远程存储库。现有的repo用户将对repo,delete和re-push进行重大更改,然后他们希望我克隆并创建副本,以便我们可以继续使用我的用户下的repo。如果可能的话,我想用repo保留提交历史记录。

我已在本地克隆但似乎无法弄清楚如何将其推送到不是原始用户的新遥控器。

3 个答案:

答案 0 :(得分:2)

你是不是可以通过forking github上的存储库完成你想要做的事情,然后克隆并继续处理它?<​​/ p>

这也保留了两个存储库之间的关系,并允许您在以后选择将其更改合并到您的存储库中,反之亦然。

答案 1 :(得分:1)

我们必须有更多细节,但你很有可能不必要的。

很可能主人可以通过创建一个分支来实现他们的目标,并使该分支看起来像他们想要的那样,如果这是期望的最终目标,可能用它取代master。他们可以做到这一点,而不会破坏所有现有的历史。

或者,您可以分叉存储库。但是,请记住,如果他们要完全重写历史记录,那么很可能会很难将您正在做的工作集成到分支上,假设这是一个目标。

您还可以通过删除当前的远程git remote rm origin来推送已克隆的副本,并创建一个指向您帐户下创建的存储库的新副本。但同样,如果原始存储库完全更改,则很难集成在“副本”上完成的任何工作。

答案 2 :(得分:0)

使用GitHub界面时,最简单的方法是fork a repo

或者,正如GitHub上的以下Duplicating a repository文章所述,您可以通过以下shell命令实现repo复制:

  1. 创建存储库的裸克隆:

    git clone --bare https://github.com/exampleuser/old-repository.git
    
  2. 镜像推送到新存储库:

    cd old-repository.git
    git push --mirror https://github.com/exampleuser/new-repository.git
    
  3. 删除您在步骤1中创建的临时本地存储库:

    cd ..
    rm -rf old-repository.git