Git:如何将一个项目合并回另一个项目

Git:如何将一个项目合并回另一个项目,git,merge,Git,Merge,我有一个git项目,它是从另一个(git)项目的子目录创建的。原因是我不想/不需要完整的项目来处理代码的一个小方面。回想起来,这不是个好主意 文件夹是复制粘贴的,而不是使用任何git方法:新的“子项目”没有追溯到拆分时间之后的git历史 但是,现在我想将代码合并回主项目中。如果可能,提供完整的修订历史记录 我已经核对了原始回购协议,直到拆分时。现在我该怎么办?我希望将更改合并到现有代码之上,因为我已经回滚到拆分时,所以应该看不到现有代码 但是,以下操作不起作用: $ git read-tree

我有一个git项目,它是从另一个(git)项目的子目录创建的。原因是我不想/不需要完整的项目来处理代码的一个小方面。回想起来,这不是个好主意

文件夹是复制粘贴的,而不是使用任何git方法:新的“子项目”没有追溯到拆分时间之后的git历史

但是,现在我想将代码合并回主项目中。如果可能,提供完整的修订历史记录

我已经核对了原始回购协议,直到拆分时。现在我该怎么办?我希望将更改合并到现有代码之上,因为我已经回滚到拆分时,所以应该看不到现有代码

但是,以下操作不起作用:

$ git read-tree --prefix=path/to/subfolder/ -u remote-name/master
error: Entry 'an.xml' overlaps with 'an.xml'.  Cannot bind.
正如作者所说,“请注意,在执行此命令时,前缀选项的路径必须为空。”

那么我该怎么做呢?

指包括另一个回购的回购,即不是嵌套回购

这就是为什么
--prefix
选项引用的路径会导致一个空文件夹

您首先需要做的是:

  • 将子项目文件夹分离到其ows git repo中:请参见“”
  • 然后按照流程进行操作,两个回购协议完全分离
    • 指包括另一份回购的回购,即不是嵌套回购

      这就是为什么
      --prefix
      选项引用的路径会导致一个空文件夹

      您首先需要做的是:

      • 将子项目文件夹分离到其ows git repo中:请参见“”
      • 然后按照流程进行操作,两个回购协议完全分离

      将两个分支或任何分支合并到一个主分支时,在长时间未合并后已过时。将两个分支或任何分支合并到一个主分支时,如果主分支在长时间未合并后已过时,则更倾向于重新基础而不是合并。与合并相比,更倾向于重设基础

      次级回购将被吹走。我不再需要它了,所以没有必要保留它。将子目录分离到它自己的repo是我应该做的。但是现在已经太迟了。@paulus_全能的上帝,为什么太迟了?我的观点是,这些指令适用于两种不同的回购协议。你总是可以把它们分开:你在本地克隆你的回购协议,然后在遵循原始指令之前,在本地尝试将它们分开。子回购协议将被吹走。我不再需要它了,所以没有必要保留它。将子目录分离到它自己的repo是我应该做的。但是现在已经太迟了。@paulus_全能的上帝,为什么太迟了?我的观点是,这些指令适用于两种不同的回购协议。而且你总是可以把它们分开:你在本地克隆你的回购协议,然后在遵循最初的指令之前,在本地尝试将它们分开。