Git技术:如何合并具有关联提交历史的两个仓库
合并两个Git仓库为线性提交历史
假设第一个仓库为repo1(提交历史:A → B),第二个仓库为repo2(提交历史:C → D,且C的起点是B),按以下步骤操作:
进入
repo1仓库目录:cd /path/to/repo1将
repo2作为远程仓库添加到repo1中:git remote add repo2 /path/to/repo2拉取
repo2的所有提交记录:git fetch repo2切换到
repo1的目标分支(比如main):git checkout main执行变基操作,将
repo2的目标分支(比如main)的提交接到repo1分支的末尾:git rebase repo2/main由于C的起点就是B,这个变基过程不会产生冲突,会直接将C、D线性追加到B之后,形成A→B→C→D的提交历史。
(可选)若需将合并后的历史推送到远程仓库,确认无误后执行:
git push origin main --force注意:
--force会覆盖远程分支历史,仅在团队确认允许修改历史的情况下使用。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

