如何从非Fork的GitHub仓库拉取代码至自有仓库并保留提交历史
合并非Fork仓库并保留提交历史的操作方法
以下是针对两个无共同提交祖先的GitHub仓库,实现代码与提交历史合并的具体步骤:
克隆目标仓库(接收代码的仓库)到本地:
git clone <目标仓库Git地址> cd <目标仓库目录名>将源仓库(要拉取代码的仓库)添加为本地仓库的远程源,自定义一个别名(比如
source-repo):git remote add source-repo <源仓库Git地址>拉取源仓库指定分支的代码及所有提交历史,必须添加
--allow-unrelated-histories参数(因为两个仓库无共同提交起点):git pull source-repo <源仓库分支名> --allow-unrelated-histories处理合并冲突(若出现):
打开带有冲突标记的文件,手动调整代码解决冲突后,执行:git add <冲突文件名> git commit提交时可自定义合并说明,也直接使用默认信息。
将合并后的代码推送到目标仓库的远程分支:
git push origin <目标仓库分支名>
额外说明
如果需要合并源仓库的多个分支,重复上述拉取、合并、推送步骤即可,每次指定对应分支名。
内容的提问来源于stack exchange,提问作者mcjohn974
相关产品推荐
相关产品推荐

