如何从现有的仓库创build一个新的Git仓库

我有一个远程git存储库,真正取代了我们在另一个较旧的SCM中的一切。 多年来,许多项目和产品都被添加到存储库中。

在这个回购中有一个分支,对应于我感兴趣的产品。我只想从这个分支创build一个全新的git仓库,而不是真的关心历史的丢失。

是git远程添加解决scheme? 我希望这两个存储库位于同一台服务器上。

思考?

为了从现有的存储库创build一个新的Git仓库,通常会创build一个新的仓库,并将一个或多个分支从现有仓库推送到新仓库。

以下步骤说明了这一点:

  1. 创build一个新的存储库。 它必须是裸露的 ,以便你推动它。

    $ mkdir /path/to/new_repo $ cd /path/to/new_repo $ git --bare init 

    注意 :确保新的存储库可以从现有的存储库访问。 有很多方法可以做到这一点; 让我们假设你已经通过ssh://my_host/new_repo访问了它。

  2. 从现有存储库推送分支。 例如,假设我们要从现有存储库中推送分支topic1 ,并将其命名为master

     $ cd /path/to/existing_repo $ git push ssh://my_host/new_repo +topic1:master 

这种技术可以让你保留现有分支的历史。

像正常一样拉下分支,然后将分支推送到使用git init创build的新存储库。 你会使用如下所示的代码:

 git push url:///new/repo.git TheBranchFolder 

这个方法也保留了你以前所做的所有更改,如果这对于情况是有利的。

如果您不担心丢失历史logging,请执行git checkout mybranch ,然后将目录内容复制到另一个文件夹。 在该文件夹中,删除.git文件夹,然后:

 git init; git commit -a -m "Imported from project Y"