我有一个git仓库,比方说“ projectroot”。 现在,我想从上游遥控器进行合并。 我想将此内容合并到“ projectroot”的特定目录中。例如,放入“ projectroot / html”。
我该怎么做? 如果我只是做git merge上行/分支名称,它将合并到“ projectroot”目录。但是它必须放在“ projectroot / html”中。
将“ projectroot”保留为我的git存储库很重要。
亲切的问候
答案 0 :(得分:0)
假设您有2个存储库 Repo1 和 Repo2 ,并且您想将 Repo2 作为 Repo1 的子目录。
要实现此目的,我们将 Repo2 的内容移动到 Repo2 下的子文件夹中,然后合并 Repo1 和 Repo2 强>。
下面是详细步骤:
在您的计算机上克隆两个仓库
$ git clone Repo1
$ git clone Repo2
将Repo2的内容复制到子文件夹。转到文件夹Repo2并执行以下步骤:创建一个子文件夹Repo2
$ mkdir Repo2
将所有内容从父Repo2移到子Repo2(.git文件夹除外)并暂存文件(添加的文件夹和已删除的文件)以供以后提交
$ git stage Repo2/
$ git stage README.md
提交这些更改并将其推送到git
$ git commit -am '[REPO-2] Move content to a subfolder'
$ git push origin master
转到文件夹Repo1并执行以下操作: 添加具有Repo2内容的远程分支
$ git remote add Repo2Temp (path_to_Repo2)
获取Repo2Temp,这是我们在上一步中创建的临时存储库
$ git fetch Repo2Temp
将Repo2Temp与Repo1合并
$ git merge Repo2Temp/master
删除远程Repo2Temp
$ git remote rm Repo2Temp
将更改推送到服务器
$ git push origin master