业务场景:当自己需要对不属于自己仓库的系统代码进行二次开发时,还需要保存这个仓库本身所有人的更新记录时。仓库A自己,仓库B他人。
1.创建空的仓库A,并克隆仓库B的代码到本地
git clone 仓库B代码地址
2.进入项目克隆的代码项目中,删除原有git文件
rm -rf .git
3.初始化仓库,让它变成属于我们的仓库A
git init
4.将代码添加到暂存区
git add .
5.将暂存区代码添加到本地仓库
git commit -m "提交说明"
6.关联自己仓库url
git remote add origin 自己仓库A的地址
7.提交代码
git push -u origin master
8.再创建一个代码分支dev,在master上进行自主开发,使用dev分支和仓库B的代码进行合并
git branch dev
9.再建立一个关联仓库B
git remote add dipository 仓库B地址
git fetch dipository
10.最后进行仓库合并
切换到仓库A的dev分支中,点击dipository 仓库里需要合并的分支,选择Merge into current
11.如果代码合并分支时遇上refusing to merge unrelated histories
git merge 分支名 --allow-unrelated-histories
12.当想要更新其他仓库代码到自己仓库时
1.首先从自己仓库的master切换到自己仓库的dev分支
2.拉取其他的仓库最新代码
拉取dipository仓库master分支代码
git pull dipository master
3.这时dev代码也已经更新了,直接推送到自己的远程仓库
4.然后切换到master ,把dev合并到master,master就拥有了其他仓库最新的代码了。