远程仓库地址发生变化
代码写着写着,组长突然说git地址迁移了,让我把自己的代码也迁移过去。
以前没遇到过,今天试了试,迁移成功了,值得记录一下。
一、场景1
首先是最简单的场景,新建的仓库是空的,然后本地代码在master分支上。
步骤:
1. 查看远程仓库
git remote -v
2. 修改远程仓库为新的地址
git remote set-url origin 新地址
3. 推送本地代码
git push
二、场景2
分支在develop上,然后远程仓库有个mater分支,迁移过去后,需要将master分支合并到develop分支,然后继续开发。
前面两步是一样的(查看远程仓库信息不是必须的,只是为了确认一下),
3.推送本地代码
远程仓库如果没有develop分支则创建分支,并推送代码
git push orgin develop
4.切换到master分支并拉取最新代码
git checkout master
git pull
5.切换回develop分支,合并master代码
git checkout develop
git merge master
我在迁移项目的时候合并master分支时,合并失败,提示:致命错误:拒绝合并无关的历史,这个错误是因为:Git 通过有向无环图(DAG)管理提交历史,合并时会寻找两个分支的“最近共同祖先”。若找不到,则判定为不相关历史,触发安全机制拒绝合并(来自元宝)。
那么这个时候使用以下命令合并:
git merge master --allow-unrelated-histories
6.推送
git pull