合并两个 Git 仓库,保存所有提交记录

本文详细描述了如何使用Git将两个代码库合并到一个,包括备份、创建新分支、添加远程仓库、拉取内容、合并、解决冲突和提交,以及可选的合并回主分支的步骤。
摘要由CSDN通过智能技术生成

将两个 Git 代码库合并成一个同时保留修改记录的过程,可以通过几个步骤完成。

这里提供一种常见的方法,使用git remotegit merge命令来实现。

假设场景

  • 代码库A:原始代码库,希望将另一个代码库合并到这个库中。
  • 代码库B:要合并的代码库,将这个库的内容和修改记录合并到代码库A中。

步骤概览

  1. 备份两个代码库:在进行合并操作前,为两个代码库做好备份是一个好习惯,以防万一合并过程中出现问题。
  2. 在代码库A中创建一个新的分支:为了保证主分支的干净整洁,可以在代码库A中创建一个新的分支来进行合并操作。
  3. 将代码库B添加为代码库A的远程仓库:通过git remote add命令将代码库B作为一个新的远程仓库添加到代码库A中。
  4. 拉取代码库B的内容:使用git fetch命令拉取代码库B的所有分支和提交记录。
  5. 合并代码库B到新分支:使用git mergegit cherry-pick命令将代码库B的内容合并到代码库A的新分支中。
  6. 解决冲突并提交:如果合并过程中出现冲突,解决这些冲突,然后提交合并结果。
  7. (可选)合并新分支回主分支:在确认合并后的代码无误之后,可以将新分支合并回代码库A的主分支中。

具体操作

以下操作假设你已经在本地拥有代码库A的副本,并且具备代码库B的访问权限。

1. 在代码库A中创建新分支
cd path/to/repoA
git checkout -b merge-repoB
2. 添加代码库B为远程仓库
git remote add repoB /path/to/repoB

如果代码库B位于远程服务器上,路径应该是一个URL。

3. 拉取代码库B的内容
git fetch repoB
4. 合并代码库B到新分支

合并代码库B的主分支(或你想要合并的特定分支)到当前分支:

git merge repoB/main --allow-unrelated-histories

这里repoB/main指的是代码库B的main分支。

如果代码库 B 使用的是master分支,相应地替换为repoB/master

--allow-unrelated-histories选项允许合并两个没有共同祖先的历史。

5. 解决合并冲突

如果合并时遇到冲突,需要手动解决冲突,然后继续完成合并操作。

6. 提交合并结果
git commit -am "Merge repoB into repoA"
7. 将新分支合并回主分支(可选)

如果满意合并结果,可以将这个新分支合并回主分支:

git checkout main
git merge merge-repoB

通过这个过程,将两个代码库合并成一个,并保留了它们的修改记录。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值