将提交从一个git存储库应用到另一个存储库的子文件夹

将提交从一个git存储库应用到另一个存储库的子文件夹,git,github,Git,Github,上游存储库位于github上,比如说“droid”。我分叉了它,并在分叉中添加了一些提交。 但上游repo“droid”被移动到另一个现有repo的子文件夹中,比如“allRepo”,现在它位于“allRepo/droid”中。我也用叉子叉的。我可以将我的提交从my_fork_1移动到my_fork_2(或本地),并继续使用my_fork_2,它是“allRepo”的分支吗?一个解决方案是不应用从第一个git到第二个git的差异 在第一次回购中: git diff <hash> &l

上游存储库位于github上,比如说“droid”。我分叉了它,并在分叉中添加了一些提交。
但上游repo“droid”被移动到另一个现有repo的子文件夹中,比如“allRepo”,现在它位于“allRepo/droid”中。我也用叉子叉的。我可以将我的提交从my_fork_1移动到my_fork_2(或本地),并继续使用my_fork_2,它是“allRepo”的分支吗?

一个解决方案是不应用从第一个git到第二个git的差异

在第一次回购中:

git diff <hash> <hash>~1 > patch
并使用以下命令获取第一次回购的消息:

git log <hash> -n 1 | tail -n+5 | sed -e "s/^ *//"
git log-n1 | tail-n+5 | sed-e“s/^*/”

一种解决方案是不应用从第一个git到第二个git的差异

在第一次回购中:

git diff <hash> <hash>~1 > patch
并使用以下命令获取第一次回购的消息:

git log <hash> -n 1 | tail -n+5 | sed -e "s/^ *//"
git log-n1 | tail-n+5 | sed-e“s/^*/”

在某个子目录(子树)将一些以前独立的项目(具有自己独立的存储库和独立的历史)作为某个较大项目的一部分是一个子树合并,如“git文档中的HOWTO”、“Pro git”一书(CC-NC-SA 3.0许可证)中的章节和“GitHub帮助页”中所述(在高级Git部分)

请注意,您只需要设置一次子树合并;将来从子项目回购到整个项目回购的所有合并都将自动应用。或者,您可以在将提交合并到整个项目回购后切换到使用整个项目回购


还有一个
git subtree
命令,因为git 1.7.11

在某个子目录(子树)中使某个以前独立的项目(具有自己独立的存储库和独立的历史)成为某个较大项目的一部分是一个子树合并,如“git文档中的HOWTO”中所述“Pro Git”一书(CC-NC-SA 3.0许可证)中的章节,以及“GitHub帮助”页面(在高级Git部分)

请注意,您只需要设置一次子树合并;将来从子项目回购到整个项目回购的所有合并都将自动应用。或者,您可以在将提交合并到整个项目回购后切换到使用整个项目回购

从git 1.7.11开始,还有一个git子树
命令