相关疑难解决方法(0)

如何在没有共同祖先的情况下合并两个分支?

我已经开始在我的项目中使用Git,其中前两个提交只是一些初始设置(.gitignore和.gitattributes),第三个提交M2添加了SVN主干的内容:

I1 -- I2 -- M2 -- N -- .. -- Z
Run Code Online (Sandbox Code Playgroud)

我已经在名为svn的分支中导入了SVN历史记录,其中M1是SVN中继(内容与M2相同,除了.gitignore和.gitattributes):

A -- B -- ... -- K -- L -- M1
Run Code Online (Sandbox Code Playgroud)

问:合并两个分支的最佳方法是什么?

我可以将M1M2合并到M3中,然后重新绑定,但我不知道如何删除I1I2提交,如果我可以安全地删除M3提交(我已经找到一些建议来保留合并提交,但是这种情况M3不再需要了).

A -- B -- ... -- K -- L -- M1
                             \
                              M3 -- N' -- .. -- Z'
                             /
               I1 -- I2 -- M2 -- N -- .. -- Z …
Run Code Online (Sandbox Code Playgroud)

git merge rebase

30
推荐指数
3
解决办法
2万
查看次数

如何将一个git历史追加到另一个?

我有一个存储库,其中包含不再使用的旧版网站的代码master.该站点在一个新的存储库中完全重新设计,该存储库中的代码和历史记录被复制到旧站点的repo中的一个分支中,让我们调用它new_site.我无法合并new_sitemaster,因为历史是完全不同的.

我已经调查过两个子模块和子树合并了一下,但是当你试图保持代码来自另一个项目的子目录中包含的一个项目时,两者似乎只是相关的,而不是当你想要在两个工作树之上粘贴两个工作树时彼此.

此时,我希望将旧代码保留在原来的位置,并将其添加new_site到当前HEAD的顶部.任何想法我怎么能做到这一点,或替代建议清理这个烂摊子而不吹走旧代码?

git git-submodules git-subtree

6
推荐指数
1
解决办法
405
查看次数

标签 统计

git ×2

git-submodules ×1

git-subtree ×1

merge ×1

rebase ×1