文章目录
Git 实现不同仓库所有记录合并
Git 的提交记录算是程序员的主要财富,不管是看前人修改原因,还是甩锅嘿嘿,都是必不可少的,如果你正在做一些代码仓库合并的时候,要想保留所有的
commit
记录同时把代码迁移过来,可以参考下面逻辑处理
【注意】:一定要做好备份!!!
1. 创建并切换到新分支
到需要做记录合并仓库上建立并切换新的分支分支上,如:
merge_git_branch
2. 将另一个仓库添加为远程仓库
git remote add <remote_name> <remote_repository_url>
3. 拉取远程仓库的提交记录到本地分支
git fetch <remote_name>
4. 将目标仓库代码合并到当前仓库的指定文件夹下
可以使用
git subtree
/git filter-branch
实现,这里使用git subtree
git subtree add --prefix=<目标文件夹名称> <remote_name>/<remote_url>
案例:
-- 在父目录下创建一个 mergeGitRecordDir 目录,拉取远程仓库 remote_name 的 master 分支代码到这个目录 git subtree add --prefix=mergeGitRecordDir remote_name/master
5. 推送到仓库远程分支上
git push origin merge_git_branch