在我的git repo的子目录中合并上游

时间:2019-04-02 12:58:10

标签: git

我有一个git仓库,比方说“ projectroot”。 现在,我想从上游遥控器进行合并。 我想将此内容合并到“ projectroot”的特定目录中。例如,放入“ projectroot / html”。

我该怎么做? 如果我只是做git merge上行/分支名称,它将合并到“ projectroot”目录。但是它必须放在“ projectroot / html”中。

将“ projectroot”保留为我的git存储库很重要。

亲切的问候

1 个答案:

答案 0 :(得分:0)

假设您有2个存储库 Repo1 Repo2 ,并且您想将 Repo2 作为 Repo1 的子目录。

要实现此目的,我们将 Repo2 的内容移动到 Repo2 下的子文件夹中,然后合并 Repo1 Repo2

下面是详细步骤:

  1. 在您的计算机上克隆两个仓库

    $ git clone Repo1

    $ git clone Repo2

  2. 将Repo2的内容复制到子文件夹。转到文件夹Repo2并执行以下步骤:创建一个子文件夹Repo2

    $ mkdir Repo2

  3. 将所有内容从父Repo2移到子Repo2(.git文件夹除外)并暂存文件(添加的文件夹和已删除的文件)以供以后提交

    $ git stage Repo2/

    $ git stage README.md

  4. 提交这些更改并将其推送到git

    $ git commit -am '[REPO-2] Move content to a subfolder'

    $ git push origin master

  5. 转到文件夹Repo1并执行以下操作: 添加具有Repo2内容的远程分支

    $ git remote add Repo2Temp (path_to_Repo2)

  6. 获取Repo2Temp,这是我们在上一步中创建的临时存储库

    $ git fetch Repo2Temp

  7. 将Repo2Temp与Repo1合并

    $ git merge Repo2Temp/master

  8. 删除远程Repo2Temp

    $ git remote rm Repo2Temp

  9. 将更改推送到服务器

    $ git push origin master