0

我在服务器上有一个 git 存储库,我们将其命名为 project.git

我正在将项目的一部分分成一个单独的、独立的项目和 git repo(让我们命名为 subproject.git)。

我仍然希望 subproject.git 历史记录包含原始 project.git 中的历史记录。所以我开始这种分离的方法是在 project.git 上创建一个名为 subproject 的分支。

现在我想在服务器上创建另一个裸仓库(subproject.git),但是让子项目分支成为这个仓库上的 master 分支,并将原来的 master 分支重命名为别的东西(即:old-master)

我想我知道如何在我的本地副本上执行此操作,但我不确定如何创建新的裸仓库以使其在服务器上发生。

有什么建议么 ?

4

2 回答 2

0

这样想:本地和服务器副本是同一个存储库。似乎您仍在考虑旧的 C/S 方式。

我建议创建一个新项目,将现有项目作为子项目拉入。(这里有很多关于这个的话题。)然后把整个烂摊子推开。

现在,我知道你在想什么:我的建议意味着你将失去所有的历史。没有。

这是一个关于在将项目变为子项目时保留历史的线程:如何将 Git 项目迁移为一个带有子项目的项目

于 2013-11-13T01:01:57.363 回答
0

如果我必须这样做,我可能会这样做

我把这个项目称为“first-project.git”

  1. 我将克隆项目,将其命名为“second-project.git”
  2. 将在 second-project.git 的本地副本中创建一个新的分支“future-master”
  3. 将在本地副本中进行所有更改并进行提交,然后按照此“如何删除主分支”链接 -如何将我的 git 'master' 分支重命名为 'release'?
  4. 注意:如果您不想从 second-project.git 中删除 master - 只需创建一个新的 master 分支并将其命名为“old-master”

希望这可以帮助 !!

于 2013-11-13T01:52:00.253 回答