文史百科 如何用Git合并两个库并保留提交历史

Posted 冲突

篇首语:登山则情满于山,观海则意溢于海。本文由小常识网(cha138.com)小编为大家整理,主要介绍了文史百科 如何用Git合并两个库并保留提交历史相关的知识,希望对你有一定的参考价值。

如何用Git合并两个库并保留提交历史  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

整个过程中主要用到的工具是 merge 和 read-tree,前者用于合并历史记录并且中断在最后提交之前,所产生的文件冲突不会被写入硬盘;然后利用后者重写整个文件树并把读取到的内容(读取的目标是 backend)写入新的路径下。

最后提交以结束合并。

第2步里,我们把 backend 作为 remote server 添加到 frontend 库中。

-f 的作用是在添加后立刻 fetch。

要注意一定得使用绝对路径来引用 backend 库。

第3步里,--strategy ours 比较难以理解,且听我详细道来:一般来说当合并两个文件树时,如果遇到冲突我们是需要手动去解决它的,但是目前我们要做的不是解决冲突,而是在引入 backend 历史记录的前提下完整保留 frontend 的内容。

冲突肯定是会有的,即使两个不同的项目也是如此,比方说两边都有 README.md、app/、config/ 等文件或目录,但是我们不关心冲突,我们只要保留 frontend 的文件树并且把 backend 的历史记录合并进来。

相关参考

文史百科 git清除历史纪录

若我想删除历史记录里比较考前的提交,而后面还有很多需要保留的提交,则:1.2如果要删除的历史记录是分散的,则可以考虑InteractiveRebase,自行挑拣/合并等。如gitrebase-i<

文史百科 git清除历史纪录

若我想删除历史记录里比较考前的提交,而后面还有很多需要保留的提交,则:1.2如果要删除的历史记录是分散的,则可以考虑InteractiveRebase,自行挑拣/合并等。如gitrebase-i<

文史百科 git-svn可以保留多次提交记录吗

1、环境准备sudoapt-getinstallgit-svn12、创建用户映射在Subversion,每个提交者在都在主机上有一个用户名,记录在提交信息中.比如blame的输出以及gitsvnlog

文史百科 git-svn可以保留多次提交记录吗

1、环境准备sudoapt-getinstallgit-svn12、创建用户映射在Subversion,每个提交者在都在主机上有一个用户名,记录在提交信息中.比如blame的输出以及gitsvnlog

文史百科 git和区块链的区别

一、相似性分布式Git确保每个代码仓库在本地保留完整的项目库,而不仅仅是自己在工作的这个分支和自己的提交历史。同时也保留了最近这次pull下来后的所有快照和索引信息。区块链上,每个节点在本地保存完整数

文史百科 git和区块链的区别

一、相似性分布式Git确保每个代码仓库在本地保留完整的项目库,而不仅仅是自己在工作的这个分支和自己的提交历史。同时也保留了最近这次pull下来后的所有快照和索引信息。区块链上,每个节点在本地保存完整数

文史百科 git和区块链的区别

一、相似性分布式Git确保每个代码仓库在本地保留完整的项目库,而不仅仅是自己在工作的这个分支和自己的提交历史。同时也保留了最近这次pull下来后的所有快照和索引信息。区块链上,每个节点在本地保存完整数

文史百科 git获取历史版本的几种方式

我们简单的描述一个例子:a)初始化操作有两个文件file1.txt和file2.txt1,初始化的时候就有这两个文件操作:gitinitgitstatusgitadd.gitmit-m“initver

文史百科 git获取历史版本的几种方式

我们简单的描述一个例子:a)初始化操作有两个文件file1.txt和file2.txt1,初始化的时候就有这两个文件操作:gitinitgitstatusgitadd.gitmit-m“initver

文史百科 git获取历史版本的几种方式

我们简单的描述一个例子:a)初始化操作有两个文件file1.txt和file2.txt1,初始化的时候就有这两个文件操作:gitinitgitstatusgitadd.gitmit-m“initver