让项目在11月份进行了大约133次提交我已经克隆了该项目并在50次提交之前创建了一个新的回购,这意味着:
compile compiles a build script from .travis.yml
现在新的repo中有大约15-20个提交,但是没有提交被推送到旧的repo但是在编写许多文件并在内部更改时。
A----B----C----D----E
Cloned New Repo from C
\__ C
现在我想将这两个repo合并为一个:
A----B----C----D----E
Cloned New Repo from C
\__ C----C1----C2---C3---C4
搜索互联网后得到一些命令,并尝试与以下内容合并:
A----B----C----D----E----C1----C2---C3---C4
它给出了第一次提交的内容,并成功地解决了它:
git --git-dir=../<some directory>/.git|
format-patch -k -15 --ignore-space-at-eol --stdout <commit SHA>|
git am -k -3
显示错误:
git mergetool
gm am --continue
答案 0 :(得分:1)
我会避免使用'am'方法 - 如果你真的有共同的历史,你应该利用rebase,merge或cherry。
假设您在E处有一个名为'master'的分支
将第二个存储库添加为第一个存储库的远程存储库。让我们说我命名了新的远程'沙盒'。
fetch --all
现在在sandbox / C4创建一个新的本地分支..让我们说该分支被命名为'otherwork'。检查那个分支和rebase在'master'之上。如果您在完成任何结算时遇到问题,您可以从“其他工作”分支中一次查看主数据库并逐一查看更改。