Git:如何将远程提交合并到不同路径?

6

我可以帮您进行翻译。以下是需要翻译的内容:

我有一个远程foo的git存储库。

foo是一个Web应用程序,它在其根目录中直接包含一些文件和目录:

Rakefile
app
...
public
script

我的主要git仓库是一个更大的系统,包括这个web应用程序。我想从foo中提取提交记录,但我需要文件驻留在web目录内。所以他们应该成为web/appweb/public等。

我不想使用foo作为子模块。我想将foo合并到主仓库中,然后摆脱它。

3个回答

4

2
最新的关于Subtree merging 的资源有: 引自如何使用Subtree merge策略:

在这个例子中,假设你拥有 /path/to/B 存储库(但它也可以是一个URL)。 你想将该存储库的主分支合并到当前分支中的 dir-B 子目录中。

以下是您需要的命令序列:

$ git remote add -f Bproject /path/to/B
$ git merge -s ours --no-commit Bproject/master
$ git read-tree --prefix=dir-B/ -u Bproject/master
$ git commit -m "Merge B project as our subdirectory"

$ git pull -s subtree Bproject master

请注意评论文章“子树合并与您”。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接